2S AyOflJtj 25 Sottese 1 - Anne 311 - N 13 - Spod ,Abb. Posi Gr 1(1-70 • CH Distr. VloPo
L, 2,500
i utenti dì sistemi Cotnmmliirv
l a rivista è
COMPUTER
JT « J
1
s ■ . i
p tll
IijTi| m
SCOPRI LA DIFFERENZA DYSAN
*
Perchè Dysariì
Le Quattro
Ragioni Per
Preferire la
Differenza
Dysan
*■ di
>
o h nmn imm ii hi
i idAL* J jT- t k .4i jv f ìJt'Ldf
sl fi w m m rHiM \ ih i m h vMlts*;
KO < iM|| ■ tì'Wfi i)| j’
Gl A.KT1
UH - mi) RaVÌi i i j "
1 11)0% di superficie
i testata "error free”
Solo 1.) wm garantisce che
luti a La superficie della
diskette sìa rea Intente
U H Pi, ‘cri or I ree " un tesi
esclusivo certifica le tracce
e lo spazio tra Le tracce
assicurando presta? ioni
"crror live” anche in
presenza di
disallineamento delle
testine,
Lsdusiva tecnica
i di Bumishing
Solo Dysan garantisce una
superficie +h a specchio
grazie alla sua avanzata ed
unica tecnica di
’ bur mshiniT - questo
risultato assicura un
miglior segnale sulle
tracce, una minor
turbolenza sulle testine,
consentendo un sicuro
mantenimento dei dati
dopo milioni e milioni di
rotazioni.
Speciale
i lubrificazione
Solo Dwm garantisce,
mediante uno speciale
procedimento di
Lubrificazione, ottenuto
trattando la superficie con
il proprio esclusivo
lubrificante I D Mk clic le
prestazioni "eri or trcc"
siano esaltate e mantenute
nel tempo.
Certificazione
* totale
Solo I K v.m canniti^ e . con
■
il suo metodo automatici ■
iti controllo qualità di iu: r
la produzione (risultato :
una tecnologia leader nel
mondo} die ogni diskei:..
prodotta sia stala
singolarmente testata e
certificata.
datamatic
TRATTA &EN£ l TUO CALCOLATORE
Paiamaiic SpA
via Votiamo, 46 Filiale di Roma
20124 Milano vta Citta di Cascia. 29
lei 02 6073876(5 linee f a.) lei 06/3279987
telex- 315377 SADATA 1
u
cammodorR
COMPUTER
CLUB
SOMMARIO
1 PAG
REMarks
Vie 20
C 64
Sistemi
Generali
05
Commodore novità
•
•
09
Domande / Risposte
•
•
•
*
14
Orologio
*
20
Il sistema bJ Mustc 64"
•
24
Dama cinese
•
29
Caccia al ragno
•
35
Gli Alberi Binari di ricerca
*
•
45
Iper Monitor per Linguaggio Macchina
*
53
Disassembler
«
56
Espansione dei comandi Basic
•
59
La Gestione deN'Interrupt nel C 64
•
62
interrupt: applicazioni pratiche
■
65
Linguaggio Macchina (3 puntata)
*
71
File relativi
m
75
Il Gioco del 1 5
•
78
Space Defender
•
80
Labirinto
*
82
Sintetizzatore Sonoro
*
85
Bomber
*
87
L'informatica a scuola:
Telematica, Robotica, Burotica
•
Direttore responsabile Mtcbeie D Pisa
Redattore capo: Alessandro de Simone
Segretaria di redazione Maura Ceccarol
Foto di copertine: Hiarxaj Vignasi
Impaglnazione/ll Iti sdrai toni: Francesco Amatori. Renato Caruso
Direzione, redazione. Vie Fa ma gesta, 75 - 20142 Milano - Tel (02) 5407348
Pubblatà: Mirco Croce {coordinato^} Mic-hola Prandio. Giorgio tfuffom
Oajrj.rj littorie, Villa Claudio
V.k» FamagosTa, 75-20142 Milano - tei. (02) 8487348/9/40
Prezzo e abbonamenti r Prezzo per una copia L 2.500
Ar «eira ti il doppio. Abbinamento annuo < 10 fascicoli} L. 22.000
Abbonamento annuo cumulativo alte riviste Computer e Commodore
Computer Club ( tariffa riservala agli studente) L 34. ODO. I versamenti
vanno indirizzati a Ccmmodor « Computer Club mediante assegno bancario.
o utilizzando il c/c postale ri 3 1 532203
Stampa: La Litografica tr i. Busto A
Registrazione: Tribunale di Milano n, 370 del 2'T1982
Sped m abb. po$t Gr III Pubblicità interiore al 70%
Computer Club - 3
COMMODORE PLUS J
Commodore Novità’
Commodore plls/4
C otti inodore Plus/4 è il computer che
amplia ('orizzonte delThome e del perso-
nal computing. Il suo nome deriva dui
quattro programmi applicativi incorpo-
rati nel computer e immediatamente di-
sponibili al momento dell 'accensione. El
software è contenuto nella memoria Rotti
de! Commodore Plus/4, e sì richiamano
con la semplice pressione di un tasto.
Il software integrato del Commodore
Plus/4 comprende le applicazioni piò dif-
fuse e piu utilizzate nell'attività quotidia-
na: un programma di word processing
per scrivere lettere e relazioni, un foglio
elettronico per ta pianificazione finanzia-
ria. un database per la creazione e la
gestione di un archivio, c un pacchetto di
business graphics per visualizzare sotto
forma di diagrammi e istogrammi i com-
plessi dati memorizzati.
• FILE MANAGER permette di racco-
gliere. memorizzare, riordinare e richia-
mare le informazioni di qualsiasi genere:
dagli indirizzi per una maiting List agli
articoli di un inventario* agli dementi di
un elenco personalizzato, alle ricette di
cucina. 0 programma offre la possibilità
di riordinare e riorganizzare le informa-
zioni raccolte per creare lettere persona-
lizzate, etichette per spedizioni, rapporti
e tabelle. Inoltre il File Manager e uno
strumento flessibile adatto per qualsiasi
applicazione personale, e non costringe
chi lo usa a imparare complicate tecniche
di programmazione per ottenere opera-
zioni complesse.
• SPREADSHEET e un foglio elettro-
nico incorporato che esegue automatica-
mente calcoli e ricalcali su dati numerici
soggetti a continue variazioni. E’ r ideale
per preparare proiezioni finanziarie, bi-
lanci familiari □ aziendali, analisi di bud-
get e per la pianificazione in generale.
Ogni volta che un dato varia, il computer
ricalcola Istantaneamente tutti ì dati cor-
relati, fornendo i nuovi valori per V intero
foglio di lavoro,
• WORDPROCESSOR permette di
creare lettere, relazioni, rapporti e docu-
menti scritti di qualsiasi tipo con grande
facilita. I testi possono essere memorizza-
ti su disco e corretti più volte prima di
procedere alla stampa su carta. Il pro-
gramma è collegato con lo Spreadsheet e
può richiamare tabelle dì dati da include-
re in un documento scritto, Questa per-
fetta integrazione fra programmi incor-
porati e un concetto rivoluziona rio nel
settore degli home coni potei ,
• GRAPHICS è uiH’h’essò incorporato
nel Commodore Plus/4 ed è integrato con
il foglio elettronico. Permette di visualiz-
zare sotto forma di grafico i dati inseriti
nello spreadsheet, per realizzare un siste-
ma completo di business graphics. 12 co-
mandi Basic aggiuntivi rendono sempli-
cissima la creazione di programmi grafici
personal izza ti, che possono essere memo-
rizzati su nastro n su disco. Con Graphics
il Pfus/4 è in grado di disegnare cerchi.
rettangoli e complesse figure geometri-
che, colorarie a piacere e ìmiuderk nei
testi scritti con il word processor.
I programmi incorporati possono con-
dividere e scambiare R informazioni me-
morizzate dal computer. Inoltre, l'opzio-
ne di screen window permette di utilizza-
re due programmi con tempo rancamente
visualizzandoli entrambi sullo schermo.
iiesie caratteristiche uniche fanno
del Commodore Plus/4 la macchina idea-
le per Tatti vita professionale. Ma non so-
lo. 1 computer si stanno diffondendo nel
mondo della scuola, e possono essere uti-
lizzati con profitto anche a casa* Il Plus/4
ha tutte le caratteristiche per costituire lo
strumento ideale per lo studente. Il Basic
esteso incorporato nella Rom offre oh re
75 comandi di programmazione, compre-
si quelli per gestire grafica e suono. Com-
modore Plus/4 è il computer ideale per
imparare a sviluppare la tecnica di pro-
grammazione in Linguaggio Basic.
I n ambiente domestici», le possibilità di
utilizzo del Plus/4 sono praticamente infi-
nite. Grazie al software integrato, com-
puterizzare il bilancio familiare, la corri-
spondenza personale e V archiviazione di
dati diventa semplicissimo. Infine, le
enormi potenzialità grafiche e sonore del
Plus/4 trasformano il computer nel com-
pagno di gioco ideale*
I n aggiunta al software sviluppato
espressamente per questo computer,
Commodore Plus/4 può utilizzare anche \
programmi scritti per il Commodore 16.
Computer Cfub- 5
CARATTERISTICHE TECNICHE
Memoria
64 K Rum standard di cui 60 K utilizzabili
in Rafie dati' utente.
ROM
32 K Rom standard { compresi sistema
operativo interprete Basic).
Microprocessore
7501 con dock da 0.89 a f. 76 MHz .
V'ideo
40 colonne per 25 righe dì testo.
Colori
12 1 colori ( 15 colon di buse con 8 grada-
zioni piu il nero).
!
Set di curane ri
Lettere maiuscole e minuscole, numeri e
simboli .
Caratteri in negativo* lampeggiatiti*
Sa di caratteri grafia Pel Commodore .
Display mode
Caratteri di testo.
Grafici iti alta risoluzione e in muliicolor
Testo in schermo diviso? grufici in alta ri-
soluzione o in mukkolor
Risoluzione pratica
320 jr 200 pixel ,
Suono
2 generatori di suono oppure l generatore
di suona e un generatore di rumore
bianco.
9 livelli di volimie per le due voce
Tastiera
Standard qwerty con 67 tasti
4 tasti dì controllo del cursore.
4 tasti di funzione programmati, che pos-
sono essere rìde finiti dall' utente per sup-
portare fino a 8 funzioni prescelte.
Tasti dì controllo dei colore .
Tasto di HELP.
Set di caratteri maiuscolo e minuscolo
Sei dì caratteri grafici.
Pulsante dì Reset del sistema.
Tasto dt Est ape.
Input/ Output
User pori.
Porta seriale Commodore.
Porla per cartuccia Rom e per unità disco
parallela.
2 pone per joystick.
Porta di collegamento per unita ree cuci-
tore C 1531
Uscita monitor am seggale composito
croma/ luma
Input output audio.
Ingresso alimentazione di rete.
f arallemtidie principali
Buste estesi/ versione 3.5 incorporato,
con oltre 75 comandi in gradi di pilotare
grafica e suono
Monitor in linguaggio macchina incorpo-
rato, con 12 comandi disponibili
Possibilità di creazione finestre su video.
4 programmi applicativi incorporati File
Manager . Spreadsheet, Word Proces-
sing, Graphics.
Periferiche opzionali*
SFS48I unita a disco veloce ,
C 1542 unita a disco,
C 1531 registratore a cassette.
MCS SOI stampante a matrice a 7 colon.
W PS 802 stampante u matrice,
UPS U01 stampante a margherita ' lette r
qwlity'.
< 1520 stampante/ plotter a 4 colori *
C 1703 monitor a colori
Altre periferiche
Commodore Plus? 4 funziona anche in
collegamento con Punita a disco C 1541,
con la stampante a matrice C 1526 e con d
monitor a colori C 1701,
Dtmensioni
Altezza 66. 7 mm
Larghezza: 422.3 mm.
Profondità: 238. 1 mm.
Alimentazione ili rete
220-241) volts AC, 56-60 Hz con alimenta-
fare esterno.
Consumo
8.5 w att massimo.
Colore
Grigio antracite.
Commodore 16
1 1 nuov o Commodore 16 è un home com-
puter che offre caratteristiche che solita-
mente si ritrovano soltanto in macchine
appartenenti a una fascia di prezzo molto
piu elevata* E' stato progettato apposita-
mente per chi si avvicina per la prima
volta al mondo de lf informatica* ed e per^
ciò semplice da usare e da programmare.
Li a tastiera professionale di dimensioni
standard e la stessa del Vie 20 e del Com-
modore 64, i due home computer più dif-
fusi in Italia, Oltre al normali tasti di
6 - Computer Club
ANNESMAN
CftdÌj IttlilM S,PrA j
Via ¥ lil Gr,in hi :*6 20092 Cinisdlu h.iKimnt Milano] Tri 1021 b I 2 1 b E
Filiali: Tnrmu hwlnv.t Bologna - Roma
- -
v ■ sai
sìH
* :\W?
ì
\
■
TALLY SPIRIT:
BASTA AI DUBBI TRA
PRESTAZIONI E
PREZZO.
Collega re una
stampante ad un personal
computer molto spesso fa
sorgere dei problemi: o
spendere troppo in
rapporto al costo del
computer <> acquistare una
stampante economica clic
può creare problemi f
di funzionamento. 1
Oggi con SPIRIT, H
dell a M/YNMKSM A N N ■
TALLY. è possibile
mettere d’accordo H
“ I
affidabihta.
SPIRIT è la stampante
già predisposta per il
collegamento con tutti i
personal in commercio che
consente di non
rinunciare a tulle le piti
elevate prestazioni
professionali.
SPIRIT e disponibile in
< ’ELDIS con CONSEGNA
IMMEDIATA.
Celdis, Distributore
Ufficiale per tutto il
territorio nazionale dei
prodotti Mann estuano
Tally, oltre la piccola
SPIRIT consegna da stock
tutti gii altri modelli di
stampanti: MI' I HO,
MT 440 fino alla MT 660*
MANNESMANN
TALLY
/
yZ
r
i
\
funzione, il Commodore 16 dispone di
quattro Listi per U controllo del cursore, c
di un tasto di Help.
Il Commodore 16 è il computer ideale
per apprendere e sviluppare la propria
(tonica di pnrgram mozione. Il linguaggio
Basic versione 3.5, incorporato odia me-
morili Rum, e sialo arricchito? compren-
de oltre 75 comandi per hi geMlone com-
pleta de Ile capacità grafiche c sonore* e
per la programmazione avanzala nel lin-
guaggin per computer piu famoso del
monito. Il tasto dì Help si dimostra utilis-
simo in fase di sviluppo dei programmi
Basir, perche pc emette di evidenziare le
linee contenenti gli errori di sintomi , indi-
viduando le singole istruzioni mrsaite. l a
Commodore ha preparalo una serie di
corsi di programmazione basati su ma-
nuali v software di facile impilo.
T J u didattica e un settore ili cui hi < '«m-
m odore operi! da sempre con prodotti di
alta qualità e di facile impiego, in grado di
accompagnare i bambini in età scolare
per tutta I *i dii ruta dei loro studi. Il num o
Commodore Ih e lo strumento ideale per
questo percorso educativo, e fornisce
un'occasione unica per avvicinarsi al
mondo del futuro r crescere di pari passo
con la tecnologia.
1 1 Commodore Ih è anche un superbo
videogioco. Curi i due ingressi per i joy-
stick, la grafica in alla rivoluzione a 121
colori e i due generatori di suono incorpo-
rati. diventa un eccezionale videogame
dalle caraneristiche pm fissionali*
Memoria
RAM Iti K standard dì cui 12K utilizzabili
ir i Buste dafTutente
ROM Oh con vufrrutì operativi » t inter-
prete Basa incorporati.
Micrnpf dccsm ne
750 ì con eh uh da 0*59 a 1 . 76 Mff:
Video
40 colonne per 25 righe di testo
Colon
12 1 mh >ri i 1 O i ah *ri ds frase « ori Sgradii
ziomptu d n ero)
Sci di cantici)
Lettere maiuscole C minuscoli numeri e
simboli
Cèrnite rt Iti negato o e lampeggiante
Set di caratteri grafia Fé: Commodore
Disptav mode
Corti ttcn di testo,
Grafici in alfa ri.iv dazione e in m attico lo r
Testo in xchermo diviso grafia tn alta
soluzione n tn midticolor.
Risoluzione gr altea
320 1 200 pud.
Suono
2 generatori di suono oppure ì generatore
CARATTERISTICHE TECNICHE
di suono e un generatore di rumo r c biùrl
CO .
9 livelli ih infame per le due un i
Tastiera
Standard tpvertycon 06 tasti.
4 fasti th et mirtillo ilei cursore.
4 tasti di funzione l he po .\ ■
tatto essere ndcftniti dalt utente per utp
portare finti a S pinzami prescelte Itoli
di Contralto del ad* ire
Tasto di Uf i 1*
Set dt caratteri maiuscolo c minuscolo
Set di caratteri grafici
Input/f hiiptii
1 j ter pori ( In
Forra seriale f V mi madore.
P( >rta per carruci ai Rom e per unita disco
parallela
2 pone per to\ stick.
Fona di colicgarnento per unita registro-
ture Cf5JI.
Uscita monitor con segnate composito
croma/ fama
Input output audio
Ingresso alimenta: urne ds rete.
t ara iterisi tc he prmeipah
Basic esteso versione 3.5 incorporato,
con oltre 75 comandi m grado dt pilotare
gra fica e suono
Monno * in hnguaggitt macchina sneorpa
rato, con 12 comandi disponibili.
Possibilità di r reazione finestre su vide * >
Periferiche opzionali
S F$ 4SI imita a disco s etole,
l 1^42 unita a disco
(. 1531 registratore j casette
MCSSOÌ stampante a matrice a ~ n*h*rt
.\t FS 802 stampante a matrice.
lì PS IJOf stampante a margherita tener
tpuilip .
f 1520 stampante f dotte r a 4 colori
( 1703 monitor f j i uhm
Mire periferiche
(. ommodore /6 funziona anche m colle-
gamento con Turata a dist o C 134 J, <..<m la
stampante a maini e ( e con il mono
tor a colori C ptìì
Dimensioni
A Rezza: 76 2 mm
Larghezza: 40ft 4 mm
Profondità 203.2 mm
Vhmenia/Tone dt tele
240 ioits AC t 50 II: con alimentatore
esterno.
< onsumo
S. 5 h art massimo
i olore
(frìgio antracite
8 - Computer
Domande Risposte
nOINVUDE KI 8 L 08 EE
Le RAM del Commodore 64
“Quale è l'esatto quantitativo di RAM a
disposìxiooe net mio 64 e perchè eoo
PR1NT FRECCI si ottiene talvolta un valo-
re negativo?
• Sono effettivamente MK, vak a dire
più di 64000 locazioni. Alcune di queste
non sono pero accessibili alFutente se
non lavorando m l inguaggio Macchina.
Da un po’ di tempo Commodore Com-
puter Club, sta affrontando in modo si-
stematico questo argomento che consen-
te di sfruttare appieno le potenzialità dei
computer t 'ommodoie. In questo nume-
ro troverai molti articoli su cui
documentarti
Per ciò che riguarda la seconda parte
della domanda, tieni presente che se con
PRìNT FREf'(J) si ha un valore positivo,
questo rappresenta esano quantitativo
disponibile per dati o programmi ba^-sc
Se invece il valore è negativo la quantità
di R AM disponibile è data dal semplice
calcolo;
PRINT 2f 16+FRE(0},
Problemi col comando 30
□Con la mìa unita a dischetti 1541* sfrut-
tando nio Iti) un floppy f canee Umido, so-
vrapponendo, registrando ecc.j, ù volte
mi accorgo che certi File non sono piu
riconoscibili e alcuni programmi non ap-
paiono addirittura nella Directory.
• L molto probabile che hai usato trop-
po spesso il comando: 0ONOME col
quale si «sovrappone» ad un programma
già residente su disco, itn altro program-
ma con lo stesso nome. Abbiamo notato,
infatti, che se questa operazione viene
ripetuta troppo spesso succedono pastic-
ci nella B A M che possono rendere,
anche se raramente, addirittura inutiliz-
zabile l'intero disco, specie se il program-
ma risenti n con?ti è uno dei primi
Per e vi i are malfunzionamenti si consi-
glia, periamo, di non utilizzare mai i]
comando 00. e di procedere alta scrittura
di un programma con altro nome e, in
seguito, alla cancellazione di quello che
non serve più
Ancora sul 1541
n A volte, sbagliando a trascrivere qual-
che programma o file di duLL il LEl> del
drive Imo pentii. C'è un modo per spe-
gnerlo senza spegnere e riaccendere il
1541?
• Puoi inizia lizzare il dischetto:
OPEN 15.fl.15. ,, lÉf: CLOSE 15
Oppure ricorrere al comando "U'\
Caso del Commodore 64 .
OPEN 15 ,8.13 "U*”: CLOSE 15
Caso del Vie 20:
OPEN 15.8,lS/’U-"rCLOSEl 5
Il tasto Return
□ Dopo aver listato alcune lìnee basic, mi
capita la necessità dì corregeme qualru-
fili e per Far questo “salgo’ * col cursore ed
inìzio la modifica. A volte, in tale fave,
batto però qualche tasto errato* Come
posso fare per non “perdere" la vecchia
linea?
♦ La “vecchia" linea rimane li al suo
posto e non le accade nulla fino n che non
premi il tasto Return Se infatti, ad esem-
pio. dopo aver pasticcialo la lìnea, can-
celli lo schérmo, chiedendo il listalo di
quella riga n accorgi che è rimasta immu-
tata, proprio perché non è stata data la
conferma col tasto Return, A volte capi-
ta. specie digitando gli apici, f = k virgo
lette) che il tasto di cancellazione scher-
mo non provoca l’effetto desiderato. E : ’
sufficiente allora premere insieme i tasti
Shift e Return Anche in questo modo la
riga ornane immutata.
Accensione di un sistema
H Inidan do un lavoro ai computer* quale
apparecchiti accendere per primo e quale
per ulti mu?
• In genere ri accende dapprima il com-
puter, pcit il drive e per ultima la stam-
pante, Questa perù non è una regola ge-
nerale, tanto è vero che sul manuale di
alcuni package di software si consiglia
una procedura diversa. Oli scrive, ad
esempio, è costretto ad accendere prima
il 1541, e poi il Vie Facendo ai contrario,
infatti, il drive pane e non si ferma più.
chissà perchè Un altro lettore, a propo-
sito, mi disse che fu costretto a sostituire
la lampada al neon della sua camera per-
ché non appena la accendeva resetta va il
computer!
In genere, comunque, è bene iene re
accese tutte le periferiche che costitui-
scono il sistema, anche se non devono
essere usate Una cosa da non fare per
nessun morivo, è quello di collegare i
connettori, schede di espansioni, cartuc-
ce di Firmware ed altri apparecchi men
ire fe macchine sono accese. Ho visto
saltare più di un computer con questo
metodo.
Sui puntatori
dei programmi basic
□Mi hanno detto che è possibile “sposta-
re" in altoq in ba&so, quasi a piacimenti!,
la zona di memoria RAM in cui allocare i
programmi basic, Perchè non dite in che
modo forici?
• Ho già affrontato tale argomento sul
N 42 (giugno ’84) della rivista Micro A
Personal Computer nelParticolo "Spo-
stamento dei programmi basic"
\ lessa n dm de Si mone
Computer Club - 9
Qottomhro 1 QftJ - ^ \ irtì ^ /Wl Arìr^iPi ! Kl C i -i . i , T A ! >k ,W III >■*•'1 ,".r r*S l. ti--. :v..
Come ottenere i caratteri speciali
dei computer Commodore
in inaiti listati pubblicai t in ijiicxia rivista figurano alcuni caratteri speciali
indichiamo, sii questa pagina, il modo di ottenerli.
m » [NEPOJ
* ^ [&IRNCDJ
^ = t ROSSO]
k * CflZZL'FJ
■* - EVI GIP]
li = [VEPDEJ
= t bluj
H - coi allo:
a - C7F2J
K = CTF4]
m =- IIF6]
m = [TF2J
« = trpuNj
a « [RVSJ
a) = [ HOME ]
If * t RIGHI]
ri * [DE L J
;a
m
WRMCl
R
e
Criflm
E
3
CROSR 3
-
COR IOIDI 3
:a
COPIO! Kt 2 ì
li
—
[VERDE]
rs
-
[CELESTE]
■ i
■ i
3
[ OR 10103 J
$
; o
ì_
i- , i
m
a
e
ri
li
C TF1 3
LTF $]
CTF? ]
CTF7]
e
(S
a
= CGP 3
Qfi
i®
•
- CRVOFF]
/Ei #
©
n
- * CCLEhR)
p^a
il
= LLEFTJ
e©
a
tr
= [FI]
sa a
^-Computer CMj
Precisazióni su programmi
pubblicati
Fascicolo 1 1
Programma " Scrittura a tutto schermo' 1
Riga 270 invece di IF R— 147. Illùsi II-
P=147
Programma “Caleidoscopio"
H listato non conitene errori di sort i
Molti lettori, perii, commettono alcuni
errori di battitura.
Nella riga ISO il segno che compare in
ASC non c il segno meno, ina il
carattere se mi grafito che vi ottiene digi-
tando ShiEi c l’asterisco i 1 (
Anche nella riga 17ri il carattere che
compare non £ if segno H + " ma il carat-
tere semigrafico che si ottiene con Shift
insieme con
Programma ^Enycalc”
N listalo non contiene errori di sona Si
tenga presente che utilizza ìo tecnica del-
la manipolazione del buffer di tastiera e
periamo durante IV la rio razione dei da-
ti, è necessario non battere alcun usto
del] a tastiera.
Lo stesso programma c stato rasento,
col nome PRESI OC AL C, nella nuova
rivista su cassetti COMMODORE
CLUB,
Programma “Archivio dischi"
Il programma gira perfettamente
Eventuali errori di sintassi sono din un al
fatto die si è fatto ricorso alf jbhrcun-
notie '**?& " al posto di PRINT^, Tale
abbreviazione, dovrebbe esser noto e
illecita,
Fascicolo N. 12
Programma 'Battaglia navale"
ì jì riga irn va così corretta
J tm IF A$ = "S" Tttlìhi RUN
HELIS
SERVIZI PER L’INFORMATICA
• COMMODORE 64
• CORSI DI PROGRAMMAZIONE
• PRODUZIONE SOFTWARE
• PERSONAL COMPUTER
• ASSISTENZA SOFTWARE
• PERIFERICHE COMMODORE
• ASSISTENZA TECNICA
• ACCESSORI
• LIBRERIA JACKSON
HELIS - VIA MONTASIO 28 - ROMA - TEL. 06/8922756
Commodore 64
Questo programma che utilizza le
routines grafiche di Danilo Toma ,
pubblicate su C, C X \ N, IO,
trasforma tl vostro computer in
un orologio analogico.
Dopo «ver digitato i! pnierumma* sal-
vdtHo, caricai* le routines di Tonta, tac-
ciatele e caricate questo programma, Do
pii il RUN IJ computer vi chiederà se avete
già caricato le routines grafiche e, in caso
afferma* ivo. dovrete solo premere il tasto
RETURN per continuare* Ora il ctnopiì-
ter vorrà sapere se volete modificare l'ora
0 se volete continuare con quella già im
postata: infatti, IH .64 continua a svolge-
re la sua f un rione di orologio fino allo
spegnimento delta macchina, Potrete
quindi fermare il programma o caricarne
altri venia - perdere- l'ora impostata.
Avete anche la possibilità di attivare, u
meno, la sveglia. Con essa, su dodici ore,
vanno introdotte le ore e \ mimiti separati
da una virgola. Ricordatevi che le ore
vanno da G a Ilei minuti da 0 u 59; e,
quindi, per il computer, non esistono le
12 che, d ‘altra parie, vanno indinne co-
me ori- 0,
S e volete cambiar* l'ora, sullo schermo
coiti pu ri ra un orologio con Ir lancette so-
vrapposte e lampeggianti imi inulti Ir fKO
1 mezzogiorno) 1 . Premendo il tanfo F’5 si
otterrà l'avanzamento dei minuti, itili F’ft
sì avra un avun/anieuUj ancora dei minuti
a passi, in questo caso, di cinque, ititi 17
si produrre imo spostamento delta lancet-
ta delle ore. Con FI, l'orologio parte.
Se volete cambiare l'ora quando l'oro
logio e già attivo premere FI. IVemrndo
F 4, vi sara chiesto se volete la sveglia e, in
caso affermativo, a che ora.
Funzionamento
w
Uf avete letto I" articolo di Torna ricor-
derete che un orologio r quanto di piu
sconsigliatosi possa fare ut ili zzando quel-
le routine*. Esse, infarti, ogni volta che
vengono chiamate, fermano il conteggio
dell’orologio software del BASIC’ conte-
nuto nella variabile TIS. Per ovviare a
questo inconveniente e stato necessario
ricercare tra i vari Integrati un orologio di
tipo hardware. E, come sempre, mamma
Commodore ha pensalo a tutto munendo
il C 64 di ben due di questi orologi. F-ssi
sono contenuti nelle due CIA {circuito
adattatore di interfac ."la * che sono col le-
gale aita tastiera, alla user pori c all’in-
terfaccia seriale,
o gtiunu di tw contiene un ombrio di
24 ore AVI /P VI con una precisione di 1/1(1
di secondo organizzato su quattro Bytes-
ore, minuti, secondi t decimi di secondo.
I 'indicatore ÀM/FM, non usato in que-
sto programma, si trova sul bit piu signi-
ficativo delie ore. 1 valori contenuti in
questi byte* non sono numeri codificati in
esadeciinaJt, ma in codice BCU e necessi-
tano quindi di una conversione. L’orolo-
gto è *c Incitato’ dìrettamenre dalla cor-
rerne alternata di rete (portata preventi -
vomente y v sdori FI E . * e, dato che tl rum-
poter è predisposto anche per gii stan-
dard americani, deve essere programma-
li! per funzionare a 50 FI z,
er una corretta programmarioor 0
lettura dell' orologio e nfceAario rispetta-
ne una procedura ben precisa, Ogni volta
che viene effettuata una operazione di let-
tura nel registro delle c *re. tutti i dati
vengono congelati fino a quando non vie-
ne effettuata ta lettura dei decimi di se-
condo, Questo serve a far si che non si
verifichino errori di lettura causati da
operazioni di riporlo. Sei caso debbo es-
sere letto un solo registro (come nel caso
dei secondi! non potendosi verificare un
errore dì riporto, e possibile fare una let-
tura *al volo' dei dati. Per la scrittura
delle ore la sequenza da rispettare e motto
simile: ogni volta che viene Spoltralo’ un
valore nel registro delle ore dcirorologio
vi ferma e riparie solo dopo la program*
m&rione dei decimi di secondo. Questo
assicura che l'orologio paria sempre al
momenti! desideralo.
er i piu appassionati di PKKK A FO-
KF posso segnatari- resistenza dì un al-
tarme abbinalo a cinse un orologio. Que-
st ’ultimo può rwrrr selezionato sellando
il liti piu significativo del registro di con-
trollo R delta porta. Ina volta sellato Mura
possibile pnigrammarv Tal tarme nello
stesso modo e udir stesse kirazioiii dcll’o-
rn Ioghi, Per ri programmare lurohrgm
sarà quindi necessario riportare alla con-
dizioni logica 0 il bit in qtirstHinr. late
allarme e. come potrete tapiri-, difficil-
mente utilizzabile dal BASIC' perche
a/io uh ta sveglia generando
unìnlerrurinoe.
a sveglia usata in questo programma „
invece, e ottenuta con una semplice linea
if,,. (ben,
Andrea A Alberto Boriimi
f segue listello)
14 Computer C f ub
HOTLINE
linee telefonica dedicala
risoluzione jq-i problemi dei elienli.
Chiù mando jl numero telefonico
riservalo che troverete lolla
cartolina gasar-tite acclusa ai
programmi, ricflverete tolte le
inforTT'niionj che vi necttsaflerro
UPDATE
servizio di aggiornameli lo continuo
del programmi atLfui stati
Ogni modifica ai programmi
realizza U dfiHa Leonf informatica
aarà fornita agli utenti (fagli stessi
GARANZIA
tulli I programmi Leo ni Informatica
sono coperti da garanzia a Vita
Contro guasti di origine.
COMMODORE 64 ' SOFTWARE
^roui.iiTTi in iponfiacr^riow l-i iva *?s>: us*
£50 d.
DRSCB 17 I0tf?
Freno
rod.
PESCHI ZtOUE
Prezzo
frERSttMU
W46
ArmfiTt-wvsoTO i+Jtui
(M. 9W
"otopl js
1W.088
8459 A Toux-^lcio ■* cn't'cnn^t^
e#.»#
«351 A Gestione <Jei Conti di
casa
li^.03B
046SA Ditello p gqyfl n.moiw-
m.m
aa?5A il aASic
1W. 3C3
IMÉ/'T fiottilo ''Jfl quadra S
B9..000
005 9 A floàfillo 740 Quiete 0
98. W9
Conto eoTTenw
V50. '7*0
«Sì
CftntO pEPqrirfri L-lASIC
ÌHJ.IW0
9116
Ciaty 64 itLTmwdore)
143 . Wi j
0ÈS1/T ftubrici telefonica
L«3.«0
9174
Cotbo di Etitt ì l oprai i, a-
103 ,#30
GSSTEffffl GQÉHtM.S
«47
Aneocaf ielle
258,080
9056
Oichi irai ione r.v,A.
68. «0
«65A Fido Clienti
188,898
0867
lPi*ni> ilei Conti (ti i/fùt/^er*)
158.890
«atti
Ajjfjm tajTKmt ]
150,803
0C71
ordini (cli/forS
158.080
«sii
Hnillrm Li^t lEionìin-o alf^be^ ics . C4,v,
ptov,! 15B. «88
88^4
Schr?d.ói -H 3 J l-4e. (ch/fpr/rspp./m, atc-.j
L 60,305
Schede IEP0 os r, eaq anc 1 a t a fi 1 «el i Ir*}
253,900
Super Héu. (-:■ T^avj acr^^'ncj-, riordini..:
250^880
«liti
Scadenzario effetti
(PC. bancarie, tratte, etc.li 203.089
«129
cont^>ii 1 1 " fatturp
ilvaj inpon , -otc.l
250,903
312).
Contabilita' i;'.+
(Tea t te /Fa t t/Cffrt i /etc . ; 4 « . 080
8168
Escile e fa c cu re
299. W
9125
■Ccntflb 1 1 1 tu ' l e
(132 cOlcnnt’Ji
Urne i =2 t.o
GfSflCNJ SPECIFICHE
«4$
Viene ì e Rapii- ezontAnt:
250 . tìr12
«Wfl
it-i-ieniiai io ohjpj. e polizze
150.889
«104
Agenzie? :mo.n . :.^r :
733,888
«aa«
^ is:er - e 0 s iij-iioteoiìe
123. «0
«148
Studi Ottici
338,080
Vl r i\
Fafnici#
349.880
«149
Studi Senne; ui
339,098
3152
5 nudi rtedici
380.840
0131
Efotel c tensioni
439,000
8132
F^rrUrOthief 1
400.838
«133
Salmisti
439 . 208
8134
Clubt fluitici
759.000
3135
Of f icine
439,000
8171
ristorar cs
490.000
3179
Teucra Cald^
439,000
3172
Lav ftfKÌe r t e
403,080
0173
Ca-rdar.sni'j r*w
arnlunc i at P
tmsrjrjNfc xasfn
11»
nes -T iter
73.003
«Iti
Ucrd Pt oct- tf so r 111
180.009
43.92
bar-* 3tret t A’: . ti-t
!9 . ffiffif
8313
F.v.y Srripf-
(Cantxbre]
75.023
TECNICI
Hit
*•--- "■ .aalzclo óbqL i isolarenti Lenr sci) ljpjfl 0
0140
Ifxiennerja civile 1
(tulcon stturt.'
250,080
f;*:
zi va le li
ItCAVi intelaiate)
25C.999
F4i?4
Compu to rjh?U ICO
Ì98 , 009
; i «nost ic* Chi
48.830
■‘ÌAGAZ3 INI
«142
«agazzino t Fa t tura z ì ore? stsnplici
233.339
814 3
rtanazìino fG £: ss , -, t L
{Z>«« arto
338,308
«144
ftaqpiiir™ e fatturazione aqqduvciati
4 3 3, |,100
0153
«ria.! zzino rV' t tacj L : &
{2583 art,)
330,090
«ue
HùH»£Z L’io alfa ■ì ? e ■. -
{530 ol ,
253,009
0159
*5*3 a zj i no Tac . ,a/Cc i ,
Ì2583 art.i
338.000
Llf«:iÌAOG- i UTILITIES
9IÈ2A £cr*en qe-afiK
IfÙftCLlS)
ai .983
aifi*
Copia Disco s incoio
59 . ®B&
««4
Petstwd carnet
(CamodoreJ
03,933
01 $5 A £ 000 1
73.000
0367
Slitterà ifiasle
(CormBdore]
SS.fflPti
8164A
rijrbo Tape
58.000
0177
Fìlot | SifXIUfttiiìIO)
70.080
81 7fi
■jltté EiaBSir
125.300
0179
fTniractar Eiitcr
78,303
0i?3A auìic 4 . e
«9,300
#194
aprite Genera ter
70,Cf03
«195
Aasuni lcr
30,009
9186
3-A.H,
ITtonui
150.603
8157
G- Fisca 3
95,000
am
Fonti 64
( Comodare!
95.880
01??
Tool t4
(Omedeci)
«5,999
0200
Hai ter 04
[CassodoreJ
145.003
0201 A
scivola CP M
{CtwwcOocR)
125.800
!5ES7 TOMF DATE
8157
Cale fttsolt
i Mandici
195.8&6
0161
[JitA Base rtaflaqer
{[tal iarv>)
123.003
*2f$
Super base
(CorarBodcEs?)
175.000
0206
Ksqlc nesk
(Ctmncdorcl
75.038
«287
Kos! 4 Joystick
immiti
023?
Liata IjOO.
320.333
informatica
Direzione Commerciale - via tftjrr Rodrigo, 0 -
30142 MILANO lei 02/6467379
Direzione assistenze tecnica? 2014 3 MILANO - via Valsola, 21
Negozio vendite ai (JtibbHco’ Milano - Corto <fi Porta Romana, 123
10 RE M* ********************************
1 1 REM* *
£0 REM* COMMODORE 6 4 *
£ t REM* *
22 PEM* OROLOGIO ANALOGICO CON SVEGLIA*
£3 REM* *
30 REM* ROBERTO & ANDREA *
40 REM* *
50 REM* BORIAMI *
60 REM* *
70 REM* 02/6195626 *
80 REM* *
30 REM*** ******************************
95 i
100 XX=0= Y%*=0 !KI»0i Y1%=*0
1 10 SC*49763f DFt=49728 a PL *49633 iCL*43785:M0 *49821
120 I NPUT h fcJHA I CARICATO LE ROUTINES GRAFICHE SlflM^Rf
130 IFL£FT$\ A$, 1 ) = H N" THENPR I NT ,r CAR I CALE " i STOP
140 IFLEFT*< A*, I X > “ 5 * THEN 1 20
150 RA = .Gl 74 532925 5 POKE 56530 , 128
160 tNPUT" 1 JMÌ 1 CAMBIARE L 1 ORA SIWIII !P$
170 IFLEFTitC P*, 1 ) » “N* THEN200
160 1FLEFTÌK X > “S*THEN160
190 POKE5B587 ,01 P0KÈ565S6 ,8:POKE5S5S4 ,0
200 i nput * .Murmrwnwwwwt 1 Iri T la sveglia simirio*
2 18 1FLEFTSC 0 *, I ) = "M W THEN240
220 IFLEFT^C 0$, 1 X > “ S “ THEN200
240 SYS SC
250 P0KE25 1 , 1 : P0KE252 ,6; SYSCL
260 P0KE24S , 1 i SYSMO ì PQKE2, 1
278 FDRH=0TD£*iiSTEPrf/6
230 XX» 153+S INC H>*70: YX=99+C0S< H > *60
290 X IX- 158 + 5 INC H) *83 « Y 1 X= 33 +COSC H>*73 = SYSDR
300 NEXTH
318 *
328 FQRH =0 T02 * rfSTEP rt/30
330 XX = 159+S INC H ) *70 « YX=99 +CQS< H > *60
340 XIX* 153+S INC H> *74 : Y1X=9S+C05C H ) *64 ‘ S YSDR
350 NEXTH
1 1 ? - Computer Club
LIRE 4.800
COMPUTER
CLUB
Presenta
programmi
perii
Commodore
Anno 1 - N. 1 - Luglio 1984 - Distr. MePe
360 REM* ******************* ************
3 70 REM******** MRTN ******************
380 REM** ******************************
330 IFLEFTS* P* r l) = *S"THEN8G0
400 GOSUB540 i (30SUBB30
4 10 AS^FEEKC 56585)
430 IFnS*OFTHEN4i0
430 P0KE2 ,0 t SYSDR s GETG^i I FG$* » g" THEN8G0
440 AD=PEEK< 5G56G)
445 IFG*=*IB"THENP*« M N“ : P0KE248 ,0 i SYSMO IGOTO200
450 1FY-FJ ArCiU=FKAN0A3C< OS > =8 3THEM3GSUB 1010
460 IFFH=AOTHEN400
470 XX* 159* YX-39 a P0KE2 , 0
4 60 Xl>;= JX>;: Y IX=JYX: SYSDR !X Ì‘/>OX%: Y 1 X=OYX: SYSDR
430 GOSU6540
500 GOTO400
5 1 0 REM* *******************************
5£0 REM** FLOTTAGGIO MINUTI ***********
530 REM******** ************************
540 XX* 133= YX=99SPQKE2 , i
550 FG=PEEK< 56587 > : FH =FEEK( 56586) : Z =PEEK< 565B4 >
560 FJ=< FGAND 15 > + ,625*< FGAND240) : REM ORE
570 FK = C FHAND 15) + » 625 *C FHAND240 )
580 Y1X=99+CQS< FK *RA*G ? *48
530 XIX = I59+S IN< FK*PA*6 > *58 t SYSDR
G00 JXX=X1Xi JYX*YIX
6 10 REM* *******************************
620 REM****PLQTTAGG IO ORE *************
630 REM********************************
648 YIX-S9+CQ5C C F J *60+FK) *RAY2 ) *35
650 XIX* 153+3 INC < F J*60+FK ) *RA/£ > *45 * SYSDR
660 DXX=X1Xì 0YX=YIX
670 RETURN
630 REM* **************************** ***
690 REM*** FLOTTAGGIO SECQM3 i *********
700 REM**** ** * *************************
710 DF^PEEKC 565B5 ) iPOKES , I
720 TR ”C OFBNO 15? + . S35*< DFANDH40)
730 YX=99+C0SC TR*R«*6)*54
740 XX= I59+S INC TR*RA*6>*64
750 E
760 Yl/;“99+COS< TR *RA *6 > *57
770 XiX= 159+3 INC TR*RA*6 > *S7 t SYSDR
700 RETURN
790 REM********************************
800 REM* QUESTO PROGRAMMA UTILIZZA LE *
BIS REM* ROUTINE GRAFICHE DI □. TOMA *
820 REM* PUBBLICATE NEL N , 10 DI *
830 REM* COMMODORE COMPUTER CLUB *
S40 REM******************* *************
350 i
18 - Computer Chiù
360 GDSUB540 : REM* *******************************
370 REM* *******************************
880 GETA$
830 IFA*= fc li"TH£MOl-OI + l
300 lFP\m= ■BrTHEhOQ=DO * 1
9 1 0 IFA$ = *H'* THEND I °D 1 +5
320 IFDI > =60THEND I =0 * DO “DO +■ 1
930 □□=-< 00< = 11 >*D0
935 1F = * ■" THENPOK E5B585 , 0 s PQKE565S4 r 2 : GOTO490 i STOP
940 HO DO - INT< DO/10 ?* 10 > +■ 16* INTC 00/10 >
350 M I =< D I - I NT< D I . / 1 0 } * 1 0 > + 1 6 * I NTC O 1 / l 0 >
960 P0KE585S7 , HO SP0KE56536 ,M1
970 YX-SSJROKEg, 0
980 xix=jy*y.i riy^jyy.i sysdr ;x i/.=ox>£s yiscoyxs sysdr
990 GOSUB540
1000 GOTO880
10 10 lFO=I5THE!S«ETURN
10£0 0=0+1 S P0KE54376 , 0 : POKE54277 , 0 ì POKE54272.0
1030 F0KE54296 , ì 5
1040 POKE54277 J 90
1050 P0KE54276 , 1 7
1068 P0KE54273 ,57 ; P0KE54272 ,37
1070 RETURN
READY.
Ck
45
L’UFFICIO 2000
COMMODORE SHOP di MILAN
»TOEO F«S C
ri r- ivo * •or - votato di 80 colonne g # ■
sf & as uoa spedate interfaccia hardware
Potrete cosi sfruttare ie straonìtrmrie pie*
Mattoni (di atto Uve! io professionale) di
word processor e di spread sheef motosi
dot pakage
[NTERFACCIA 00 COLONNE
Niente a che vedere con te " so colorine
gestite dai software* Questa interfaccia n-
disegna completamente (a pagina video
dandovi uno schermo dì $0 colonne pe det-
tamente dettaste Ma è possi òtte utilizzare
anche a cotenne, per dare ai software
che già avete imrnrìgtani eccezionali
LE NOVITÀ SOFTWARE
CONTA &IL UÀ IVA 5EMPL tFICA TA ; procedura
compiuta con stampe fiscali
CONDOMÌNIO gestione condominio compietti
GESTIONE NEGOZIO: Gestione dei negoito,
delti i cassa e dei magazzino con emissione di
scontrino fattura
ASTROLOGIA : ri primo programma che esegue
su. u t i< fronte n ftjm p; pastone assoluta tutta ralenti
deg* astwiogt (ascendente, soie. luna. case, et r >
LÉGGE 373 - COMPUTI METRICI: L ingegneria
civile sut E4
MAGAZZINO FATTURAZIONE: agganciali *
Per 1500 articoli
CONTABILITÀ GENERICA tipo dare avere/s al-
do Gestisco il portafoglio e visualizza > Pria nei.
fi 1 /s. 64 è insufficiente?
Realizziamo collegamenti con periferiche più potenti o permutiamo con sistemi maggiori Commodore o IBM
L 'UFFICIO 2000 - Vìa Ripamonti \ 213 - Milano - Tei 5696520 / 56965 73 - Aperto anche il Sabato
VENDITA - ASSISTENZA TECNICA - ACCESSORI
Computer Club- 19
C OMMODORE 64
Il Sistema
“Music 64”
CZ' he il Commodore 64 abbia notevoli
capacità musicali è un fatto piu che noto.
Altrettanto nota, purtroppo* è la notizia
thè la programmazione del circuito inte-
grato che provvede alla riproduziooe dei
suoni è decisamente ardua e molti sono i
lettori che* dopo alcuni tentativi, dii un*
ciano alla... produzione artistku-
m usi cale.
T J a ditta Nove! International di Reca*
nati sembra aver trovato la sotuzkme a]
problema degli a u [liofili che posseggono
un Commodore 64 t desiderano amen*
tarsi nell 'eseguire brani musicali,
<m è U solito programma che consen-
te* premendo 1 tasti del personal compu-
ter, di riprodurre note musicali. ¥* Lnve*
ce un completo sistema Hard/Soft che
permette di utilizzare una autentica ta-
stiera chei tramite un adattatore da inse-
rire sul retro del 64, utilizza le compie®*
potenzialità del computer stesso. I 49 ta-
sti, che comprendono 4 otta ve da DQ a
DO, sono infatti a passo profeawtfle e
non presentano problemi per chi sa suo*
mire su di un organo elettronico.
1 1 bello, però, come immaginerete, non
PO - Computer Club
f volo ndr hardware ma nel software che
permette di utilizzare la tastiera in itìfiniti
modi. I programmi presenti nella corife-
rione, infatti, non sozh) -protetti- c posso-
no essere modificati a piacimento dall'u-
tente, Se pero nim si e in grado di interve-
nire sui listati, niente paura: h tastiera
può essere utilizzata senza sapere nulla di
prOtp^mntazione o di computer.
D ci due programmi disputabili, U pri-
mo permette l'uso della tastiera in modo
polifonico^ vaie a dire che premendo piu
tasti vengono fuori piu noie musicali alla
volta in modo da formare accordi e suo-
nate a due mani, proprio come nei - nor-
mali- organi, ( arici tu il primo program-
ma è possibile scegliere fra cinque timbri:
Spine! » Accordéon, Tabular bell. Finte,
Ranjo, Ricordi inno che il menu putì esse-
re ampliato li piacere dal l'utente a patto,
ovviamente, che sia un programmatore.
Il bello, pero, consiste nel fatto che di ogni
timbro selezionato e possibile modificare
alcuni tutti! i parametri premendo
semplicemente dei tasti. In altre parole se
selezionale FI XTE è possibile trasforma-
re il suono rendendolo simile ad un oboe,
ad un pianoforte o ad altri strumenti,,,
immaginari intervenendo suiTAttack o
sul Decav o sul R citasi e, in pratica, su
tutti i parametri su cui poter intervenire .
In effetti le cinque opzioni che possono
esser selezionate sono state messe solo per
venire incontro airutentc- Se questi non e
pienamente soddisfatto del suono ripro-
dotto può modificarlo come gli pare. I
parametri su cut si puri agire sono otto:
Vtlack, Deca;*, Sustain, Releasc, Volu-
me* 1 ranspose, VVaveform, Duty ride.
Se sì combina qualche pasticcio e suffi-
ciente premere un tasto perche te condi-
zioni iniziali vengano ripristinate. Se vi
realizza un timbro interessante vara suffi-
ciente trascrivere i valori visualizzati c
riportarli nuovamente quando si utilizza
il computer una seconda volta.
C
ol secondo programma, che consente
T utilizzo della tastiera in modo monufum-
co, te possibilità di intervenire sul timbro
sono maggiori , dato che e possibile ah e ra-
re i valori relativi ad altri parametri oltre
quelli già visti. Senza dilungarci oltre ri*
cordiamo che in questo caso i timbri base
sono ben tredici ed anche in questo caso è
possibile alterare a piacimento i vari pa-
ràmetri ed ottenere riproduzioni sonore
che hanno, mollo spesso, de IF incredibile.
Tra gli altri basterà indicare l'effetto
w ha-vv ha, quello chitarra e uno particola-
re denominato Kundorn che sembra.,,
suonare da solo,
I n conclusione il modello della Nmel
plNi rappresentare una interessante alter-
nativa per quei gruppi musicali che, di-
sponendo già di un rommodore vo-
gliano studiare nuovi -sound - da utilizza-
re nei propri brani. Se poi nel gruppo c'è
qualcuno in grado di sviluppare pro-
grammi particolari, vara una piacevole
sorpresa scoprire che non solo i gruppi
rock più affermati possono disporre di
versatili sintetizzatori musicali,
Alessandro de Si mone
lli manti VJU.HMifff i d.f. V1« Mirtoni 9 /a-lm- taf aceto
S?W5 «OH'EVMCHl [Wl t*l- 05S/»K42-«4SrJ t/r patub H.iDtmsej
cu ima ai [in <4 zi ,eaj
■‘iuowj nociuti r ì« m.
Viiftw Munirò w ìb.dqo
**IJvpìIi WirfM *•<+■* cwi iifi
P ItEor* W niLtfft.
H Mtl te i lìt 70 ZS.000
*' • m -M- il
blu, '* p-ifki, i S. 11 M 1 V, U
Hrii. 1 trucchi p ìp p*rt itoiiriu* .
-, ■■ r rw s r * unf tor r I ( , Nu#r r m ■
; - v iflflii detonivi.
n «IP UH PC iQHWttt Zì.m»
**.<- ■'iLtì Mettili ? ’ «tato urlilo per
. liUprjnirp ,1 t re nUprc ftJ usari’- rutti
Ir periferiche >!■= ■ prodótti COMOUMl .
■ijc pdi|i»ii' r ri lei rrUiiif^ iv
lUl.tw (pRt ire 11 wflu 1 .Letture n
iff m!«ri cm l- f u r-j hmutfi S «
HUJiiWfW Tivù I r PAH p OIBlttrtY
IIM 1 U/* dell* purt <r ItEF -AH, liti
irti* le, H5-Z3?. SpICDUlm 1 di i^ué-u
luEIr le 1 . 1 VI 5 , *!?S, IMS,
ursni, hfvsw-. jozz, *on. hm^tow
tri cui UFfLPtffl filli,
CltOW KFIKKE * «ddlruUtun u*> L-ATA
usi.
filli [H Al rEtSflUl Hit 20 76 . Wq
*'N piu CóBpIdu neruilp lN' V 1 iti!*
ccpc f" (stir u 1 io « enee futrkmi
quatti CCflputiif r Epurili.
«W» rft BMdfil. liAgulpgfg mirri! 'ri *
SO. Tutti Ti gri-ficn grintUl' rii N
Hjonn.
HH tCAWonPt tfl
KSTIEWAl |
VlttvrutmtD)
l? 0 .DK
1 J 0 .CB 0
Crfillcne neijjjfOj
ÌK'.ljOC
Glutei li c 1 in fu ED J V& 0 , EOO
Kj S 1 . -.9 f i at ( 0 1
60.000
A^erM!* telef.CÓJ
bCSOM
V j 1 ÌPt^ f □ 3
1 ZD.W 0
wisE/pftoe.
Uij icfi 3 tl:/«i
? 0 ,£KKI
Vi Jlirrite (61
Ti . 000
liti 'eri ter f(J J.
^■.OKJ
ttj-d Pro Ili (DI
76.000
ur il rrvy varie
Itevi Ut pr e P 1 LSS)-
1 AO.éWG
Aj-ilro Car^i ler (i|
7 D.OCO
Pet 15 ZK}
TD .000
Pisci! on ordini*
* Ìi . IJCJCJ
■ * < 01 -
IM .000
AVimeiér \h:-
36 .KO
(DI*
H 3 . 0 QC
!C!
7 D.OOD
■HW P«£il (C|
Stt&erri^n (NI
30.300
' <C)
EO,«M
Turbo ti.>e (N|
7 B.WD
risi ce p y ED]
SO <XQ
IUl
IrO.MO
01 ih (Vititìr IO]
60 . IMO
f» CDlorw [DZM] iD.OOC
frA DilfUUi 1 DZM ► itì .000
Hitler |D| HO. 000
Tool ’C.DOC
tih «ì ttàott ri* ì?o.«e
fiict^sih tiulti rt.tw
- EuplOfl} Ito. OM
I 1 (i—.dirtl bii-t tCl 7 S.SOO
i 7 &» 0 »ttO- tt) 30 . 0 K
Se tw IC| 10 . WC
Superi 11 * |0p* 1? 0.000
Buie fcrJqr Iti «.OW
T910 13 ts/ii to.wa
EtfU ttAZMJMCA
UltPiMvIt (01 TD.DQG
PlftùQriph (C| ÌS',000
ealftl IO) ve. OKI
Iteilt pi 1 ti t ED 1 ?S.0K
(S?J|* $5.000
Szntlvz (DI * TD.CKrci
SW ree Iter (DJ SP.000
Plmo qui le (*3 3 D. 00 O
PfB vie ?0
h mi u u [
Clio CCftlKWUCi
ini. $4 -C flit ron Iti-
ftvtZlUt-tffrtr,
Buffer Ite Cenlr,
Jnt. n Ul-?71
Htnllor Tir* I?"
4 Arine le
Sttrip Tei TUBO
Fipin W VII
irt vie
Unirti
Dicchi «#t, 10
vmn
v ic Ciiron (H-^or.
Vie Hg.BcJ.(<OcrtO
r.VWHll IN IT All AMI
fel 5-peeid
Essy lirlpt
^ <i«^m Esule
KiVtrr
Twl
tivlc redffi
Vi * te
K *1 1 >nij tuttBj 60 . 0 K 1
Hi^irr ina iEM TS.fKJQ
f *llur*|-ieneft'l ?i.W»
►tenit or |N} ?B.£B 0
40 «Tenni» (Ni 7Z.IKQ
Tlw —
[annerite
Vii —
GIOCHI
111 CHIEDE HE PArTtCOLME
c.a.p. cui*
iNViAIDU:
LI irL NDA: E'ONTI E £ 1 Ofi I
CWTIU 0 O 3
E, CMfci/K-IU»treZC-'CirtrU| V /*iEcn Ainuilr Vn Ingle».
3 jwpfji p»T I IMnuili i h 5dwj il netto di IVA, Per tpecMilùni In
cm-IraiVeifno cileolari ! 1500 «p si»!* peni!' e vivi*. Goff maim’nty mite ipettì
™iriWcf CM 1 UI 1 A. CftTALK» GMlUItt A RICHIESTA.
DcAiAi oco croati
□
i« 000
9 t.DOC
i;o.dw
zzo.wa
7SD.D00
Iro.nd
1 SS. 0 M
690.000
11 *- 0 W
145 -MO
72.D0C
39 . WC
Ir'.O «
1 K.O 0 C
69.000
1 5.000
70.000
70.000
7 5.000
li.OOC
IQ. 00 C
IS.W 0
\
^admente
PERSONAL
COMPUTER
MUSIC
Il sistema MUSIC 64
è costituito da una Tastiera
musicale, un Modulo d Interfaccia
e dal relativo Software da usare
in combinazione con un Elaboratore
COMMODORE 64
per ottenere uno strumento
musicalo rial le no levo li capacita
SPECIFICHE TECNICHE
TASTIERA
49 tasti, 4 ottave da DO a DO
*
Tasti a passo professionale
Mobile in materiale plastico
antiurto
*
Modulo ó Interfaccia con cavo
di collegamento
SOFTWARE
fornito su Cassetta
o su Floppy Disk
da 5 1/4"
*
MONO 64 per avere
un Sintetizzatore Monofonico
•
POLY64 peravere
una Tastiera Polifonica
*
Fornito in versione llstabile
e modificabile
SISTEMA RICHIESTO
COMMODRE 64
m
Unita a Cassette
o Floppy Disk Drive
*
Monitor o ricevitore TV
*
Amplificatore per strumenti
o impianto Stereo (opzionale)
Per informazioni
spedire cartolina postale a:
Nove! International
P.0.80X 180
62019 Recanati (MC)
Riservato
agli ingegneri
If miglior software tecnico su elaboratori CBM - Commodore
Ora anche disponibile su Commodore 64
U ormat famoso programma per il calcolo deile strutture intelaiate
piane in c.a, T in zona sismica, che sviluppa e disegna anche e car-
penterie delle armature, ora agganciato all programma FONDA-
ZIONI" che risolve l'intero graticcio di fondazione proponendo una
carpenteria sofisticata ed ottimizzata.
L. 1.200 000 (versione giugno 84 - nostra esclusiva)
"MUFII DI SOSTEGNO"
A gravità, a mensola ed a contrafforti, anche in zona sismica, se-
condo il D.M del 27,1 .81
L. 300.000
"PENDI!
Analizza
se condizioni e la verifica relativa viene condotta n termini di ten-
sioni effettive: la stima dei fattori di sicurezza v ene e^e~uata se-
condo i metodi di Fellenius. Bishap e Janbu.
L 300.000
“PALI"
Esegue la progettazione delie armature e le verìiche efi sicurezza
per fondazioni su pai! ipln c oaiee £ ore.isto a^cne ili plinto
senza pali, con schema ^ :a :asc : suoc a as:co al i A "skier.
L. 700.000
la stabilità di un pendio o di un fronte di scavo sotto diver-
Uhi JC“
1*
Calcolo di travature reticolari formanti strutture (in acciaio) per co-
perture industriali. Verifiche di resistenza e di instabilità laterale per
ogni asta. Analisi delle sollecitazioni indotte nei pilastri sotto carichi
trasmessi dalle travature e azioni sismiche.
L 600.000
Analisi ed elenco prezzi. Metodo veloce e complementare automa-
tizzato per il computo e la stima dei lavori.
L. 500.000
I REVISIONE PREZZI'
Secondo le disposizioni di legge vìgenti. Praticità ed automaziofie
consentono di eseguire velocemente rev e on di prezzi anche per
lunghi periodi
L. 300.000
ORARIO SCOLASTICO
Nuovo ed esclusivo “pacchétto* 1 che inserte a r.esura orario
scolastico per ogni tipo di scuola si-e^s-ì: - :e - = e : : :a e
(imparzialità deif'elaborazione
L. 700.000
Richiedeteci documentazione e ootpu orogranm r , cs w
Reste rei e sbalorditi dalia versatilità e ca a :: zi- - - - -* - -
S1RANGELO COMPUTER Sri
Via Parisio. 25 - Cosenza 0984 - 7 5
Anche in condizioni operative difficili
massima affidabilità!
Abbiamo migliorato le caratteristiche fondamentali dei nostri
■floppy ottenendo totale sicurezza in ogni condizione di lavoro.
■ Involucro HR’ per resistere a temperature fino a 60 Ù C
■ Particeli© magnetiche fissate su uri supporto di nuova tecnologia
e collaudato con ri computer per assicurare una stabile e
costante operatività,
■ Accurato trattamento della superficie magnetica per una maggior
durata del dischetto.
Scegli in favore dei dischetti con «100 percento output».
I HIC* H- Tf M P £ &4TU F*E « TAN T )
Via M. Civitati 75 ♦ 20148 Milano
Tel : 02/4047648 Tx : 335654
maxell
©
ita nel fi.Fopis G'nJjH LflMtjq StraSe l -i 300 0 jiuelgi.’ 1 1 >i 00 -E ■ 2 1 Si 3 f* S 3B7 2|R m* i i
l'affidabilità
Commodore 64
INTERFACCIA
REGISTRATORI
A CASSETTE
PER VIC 20 E COMMODORE 64
Adatta tutti i normali registratori a cassetta a
tuo computer. Ti permette di duplicare i pro-
grammi da un altro normale registratore. Con
sole 34.000 lire I.V.A. e spedizione compreso
potrai ricevere direttamente a casa tua questa
indispensabile interfaccia, inviando il buono di
ordinazione accuratamente compilato.
BUONO DI ORDINAZIONE
Invio temi N
Sig.
interfacce cassette
Via
N.
COI'.
Città
— I.
R.C.P. ELETTRONICA srl
Via Dar Pasquino Borghi, 13
42017 NO VELI ARA [REGGIO E,;
Tel 0522/ÓÓ1471
Dama
Cinese
Un solitario che si gioca si. una
scacchiera a forma di ero . t
ìì isivgnp mangiare tutte le pedine: se il
gioco riesce» ne deve rimanere solo una.
S^i può mangiare solo in orizzontale e
verticale: il programma, comunque, non
accetta le mosse sbagliate.
Per muovere, bisogna indicare la ca^b
la di partenza e quella d'arrivo. Va indi-
cata prima la lettera e poi il numero per le
due caselle desiderate.
Esempio: ? F4D4 (Return lu
L* a mossa può essere corretta col
"Insi/Del'. Sul video» per ogni mossa,
compare il numero di pedine rimaste ed 3
tempo trascorso daJTinizio delia pareti
Giancarlo Castana
100
1 10
180
130
140
150
160
170
REM ******* **********************
REM * DAMA CJhESEB SOLITARIO *
REM * PER COMMODORE 84 *
REM * Gl ALARLO CASTAGNA *
REM + VIA S , G I M I G NA NO 9 *
REM * 80148 MILANO *
REM * TEL, 0£/4 135768 *
REM *****************************
180
190
800
E 10
£80
830
£40
£30
860
870
£80
830
30©
3 10
3£0
330
340
350
360
. f ©
PR I NT ”J H
P0KE5328 1 j 6
FR I NT 11
SIS= "
S £$= “
SHt"
S4S^"
PR INT
PR INT
PR INT
: PDKE53880 ,0
m i m
IL
H 5E*: PR I NT "
rt S3*
TASTO 1 F7 * “
[ P S 1S: PR INT"
rS4*t FRINT*
Hjit—P REM I
GETFS: IFFS- 11 "THEN890
IFF$< > “ il" THE N2 80
IFF$ = ‘'ir 1 THENPR INT^'
PGKE548SG / 1 5 : PQKE54E78 , 848 : PQKE54S76 , 17
S I =54273 : N=80 s W1 =60
D I MMC 7 , 7 > i D 1 MNt 9,9)
PORR- 1T07 : FORO = 1T07
M< R ,C > = 1 M^XTiNEXT
MC 4 ,4 > =0
53*
380 FORK- 1T03 ?FORH= 1T09
330 N< K f H >«i irCKTShEXT
400 NC 5/5 )=0 7*
418 F0RC = lT09tNC 1 /O=0JNEXT *
420 FQRC= l T03 :N< 9,C >*0 JNEXT t
430 F0RK= 1TQ9 i NC R, 1 )=0 iNEKT t
443 FORK= ITD9 :NC K ,9 >=0 iNEXT
450 N £,2>=0:NC 2,3>=0:NC3,2)"0:NC3,3>»0 *
463 NC 7,7)=0!NC 7,S)=0!N< B,7)=0!NC 8,8)=0 t
470 N< 2,7J=0:NC a,3>=0:NC 3,7 j=0sn< 3..B1-0 t
430 NC 7,2>=0iNC 7,3>=0:N< 8,2)*0 iNC 8,3J=0 -»
600 PR I NTSPCC 10 )fi 1 #5 PR I NTSPCC I0)A2* -- *- •*- —
61B PR I NTSPCC 10>A3*tpRINTSPC( 10>A2*
430 Al*-’ i — i — i — i *
500 A2$= " I I I I "
510 A3$=" 1 — 1 — 1 — I *
520 Pl4*=*i — i — I — 1 — I — I — i — i"
530 A5*=" 11111111“
540 AG$=* I — I — 1 — I — 1 — I — 1 — I"
550 «7*="' — 1 — I — 1 — I — 1 — 1 — J "
560 A3*= " 1 — 1 — 1 — 1 “
570 B* = “ABCDEF6"
580 B 1***1 2 3 4 5 6 7"
530 pr i nt " ama -
320 PR INT" f — M I, A4$; PR INT ” >0— ^ p i “ A5S
630 PR INT" PR INT* —» — l "B3*
640 PR iMr ittW r ftSg; PR 1NT“ >— lW 45tlPR INT" »»— 0T A7*
650 PR I NTSPCC 16 >A2SS PR 1 NTSPCC 10JA3*
660 PRI NTSPCC 10>A2$:PRINTSPCC 10)A8*
era pr r nt ■ am*
63P PR I NTSPCC 7 )B 1 *
690 PRINT-geBSCBU"
730 POR I = ITO? JPR I NTSPCC 4 )M£B*< BS, 1,1 ) l PR INT! NEXT
7 10 PR I NTSPCC 7 )B 1 S
Computer Club - 25
720 C*-’ 1 » £T
730 pr i nt'* maaa ■■
740 POR J = i T07 » PR INTSPCC 1 1 )C$; : PR INTSPCC i >C*I
750 PRINTSPCC 1>C**PRINTSNEXT
760 P R 1 NT " — — 1 "
770 FORICI T03 * PR t NTSPCC 7)C*I : PRINTSPCC 1 >CS/
780 PRINTSPCC 7 )C*; t PRINTSPCC 1 )CS SPRINT
730 NEXT
800 D*= l * *
880 PRINTSPCC 13 >D*
830 PRINT rt aSHT
840 PR INTSPCC E7 > * ®405SAfi*
850 PR I NT - UHM* ; : FRI NTSPCC £7) "a=ED]h£|
880 PRINTSPCC 27) " RIMASTE fi"
870 PR“3E
890 PRINTSPCC £7 > "a "PR“|| g*
300 PRlNT ,, tì§l'*; ! PRINTSPCC 57) "MT IME*”
S 3 0 T I *= * 000000 **
9E0 «30SU8 1 1 30 ? PR I NT " a'*
930 FORK=4TOl +4: PRlNT ,4 a u s NEXT
940 PR INTSPCC 5) ;* PR INTSPCC J *2) D*
350 PR I NT " 3“
9E0 F0RKK=4TQI 1 +4 s PR 1 NT* M" : NEXT
1040
1050
I960
1070
1088
970 PR INTSPCC 5>; 5 PR INTSPCC J J*2)C*
938 PRINT 'a* 1
990 FDR2-4TOC I + 1 l)X2+4 : PR INT , r 5 NEXT
1000 PR INTSPCC 5 ) J tPR INTSPCC C J+JJ )yg*2)D*
1010 POKES I ,WiFORT= 1TO50* NEXT : POKES I f 0
1020 POKES I , M J * FORT = 1 TO 1 00 : NEXT i POKES 1 ,0
1030 PR=PR- 1
PR INTSPCC 27) "a m PR*m M”
TTiT=Tl *
T1*=MID*C TT*^^) : T2*=R IGHT*< TT*„H )
PR I NT KWHIH " ; ! PR INTSPCC £7) *a*Tl*“ , "T2*"!
1090 IFPRC 15THENGOSU614S0
1 10© IFX® 1RNOFR* 1THEN1570
I FK ^PRTHENl 500
6OTO920
REM *** INPUT SOBROUTINE ***
REM *****************************
FOR I * 1 T08 ! POKE 1 250 + 1,32* NEXT
1170 PRINTSPCC 27) J I IMPUTI*
1 1B0 L*= " ftBCDEFG m
1190 FDRK = ITO?
3 200 IFMIDtC ia,i, l )«M1D*C L* ,K , I )THENI -K
1210 NEXTK
1 £20 J*-*MJD*C 3*,2 , 1 > t J«VALC J*>
1110
1 120
3 130
1140
I 150
ì 189
26 - Computer Ctub
CERCASI
La redazione di Commodore Computer Club vuole potenziarsi e
ricerca collaboratori part-time e insegnanti di discipline scientifi-
che e tecniche preferibilmente residenti nell’area di Milano
Ai collaboratori che stiamo ricercando verrà richiesto di collabo-
rare alle varie iniziative della casa editrice con articoli, libri, rac-
colte di programmi e l'italianizzazione di software, di cui abbia-
mo i diritti d’autore, orientati alla didattica per le scuole medie e
superiori.
I prescelti, pertanto dovranno possedere un sistema completo
di Vie 20 oppure Commodore 64 e sapere programmare sia in
basic che in linguaggio macchina. La conoscenza dell’inglese e
di altri persona! computer è un titolo preferenziale.
Compensi
Tutti i lavori svolti su incarico della redazione verranno sempre
compensati in base ai miglior standard di mercato.
Primo contatto
Per incontrarci telefonate allo 02/8467348 chiedendo della si-
gnorina Piera
1 530 F0RKK= 1 T07
1 £40 IFMI0*< I*,3 , 1 >=MID*( L*,KK , 1 >THENH -KK
1250 NEXTKK
1260 JJ^=M3D*( I*,4 , 1 > : JJ=VALC JJS)
1270 IFMC 1 1 ,JJ > = 1THENGOSUB1690: GOTO 1 130
1280 IFMt ( 1 + I I )/2 ,< J+JJ )/2>=0THENGOSUB 1630: GOTO! 130
1290 1F 1 1 = 1 +£ANDJJ=J +2THENGGSUB 1690 i GOTO 1 130
1300 I F I I - I -2ANDJJ*J -2THEMGOSUB 1 690 : GOTO 1 130
1310 1F I 1 = I +2ANDJJ = J -2THENGOSUB 1 690 1GOTO 1 130
1320 1F I I = 1 -2AND J J = J +2THENG0SUB 1 630 ! GOTO l 130
1330 IF I I = I +20RI I « I -2THEN1360
1340 IFJJ=J+2ORJJ=J-2THEN1360
1350 GOSUB 1630 i GOTO 1 130
1360 GOSUB 1 390
1370 GOSUB 1400
1390 RETURN
1330 M< I , J>=0!hK I I , JJ ) * 1 U4C ( I + 11 )/g,< J + JJ )/£) =0* RETURN
1400 N< 1 + 1 , J + 1 )=0:N< 11 + 3 , JJ + 1 ) = 1
1410 N( < I + I I +2 )/2 ,< J +JJ+2 >/2)=0 i RETURN
1420 X=0
1430 FOftll =£TQSsFGRJ 1 -2T08
1440 IFN< I 1 ,J 1 ) = 1THEN1460
1450 GOTO 1480
1 460 IFN-; I 1 + 1 , T 1 ? =0ANDN( I 1-1 , J1 >=0ANON<; 1 1 ,J 1 + 1 >»0ANDN< 1 1 ,J 1 - 1 >=0THENX=X+ 1
1470 IFX=PRTHENt500
1490 NEXTJ 1 ! NEXT I 1
1430 RETURN
1510 PR [NT" ■■■■13 PUOI ANCORA MIGLIORARE ! ■"
1520 IFL-=6THENL=0 1 GOTO 1650
1530 FOR I = 1 T3200 ì P0KE3 1 ,50 ! NEXT* POKES I ,0
1540 PPINT“D" :
1550 PRINT* " : REM 33 SPAZI
1560 FORI * 1TO200SFEXT! GOTO 1500
1570 L=L+1
1530 PRlNT’tmUa COMPLIMENTI ! SE] UN CAMPIONE ■"
1600 IFL=6THENL=0 ! GOTO 1650
1 S 10 FOR 1 = 1 TO200! POKES I ,50 i NEXT: POKES I ,0
1820 PRINT“Q"J
1630 PRINT" " " REM 33 SPAZI
1640 FORICI T02BB * NEXT ‘GOTO 1570
1650 PR1NT- M— 1 VUOI GIOCARE ANCORA < S/N) ? ■
1660 GETQ*t IFQ*=- 'THEN1S60
1670 IFQ*= ’-S*THEN RUN
1690 1FQ$ = '“N"THEN END
1690 P0KE54296 , 15:P0KE54278 ,248 : P0KE54276 , 17
1700 S 1 =54273 :W*80 iUl =60
1710 POKES 1 , 13 : FOR I = 1 TO50 : NEXT : POKES I ,0
1720 POKES 1 ,20 :FOR 1 = 1TO200 f NEXTiPOKES I ,0
1730 RETURN
READY.
28 - Coppale r Club
V ic 20 Inespanso
Caccia
al Ragno
Questo programma, come dice il
titolo, vi permetterà di cimentarvi
in una appassionata quanto peri-
colosa caccia al ragno.
V «diamo un pò* h regote del gioco.
sullk sinistra deflo schermo oppuriri la
canna del vostro fbdk, ad una altezza
variabile scelti casualmente Dall'alto
scenderà un natilo, cakiNksi coti la ra-
gnatela- Posizione sullo schermo e veloci-
tà dì discesa sono anch "me scelte
casualmente-
p
M rr sparare bisogna premere il usto
«space* t tenendo presente che B npu si
arresta al momento dello sparo. Sessi coi-
p &ce 11 ragno, tutto bene; altrimenti co-
minciano I guai! Infatti questi sodo ragni
di una razza particolare, molto intdhgen-
te* $e non li colpite, questi fdrbacdik>ai
vanno a costruire un muro, piazzando un
mattone alla volta, proprio davanti al vo-
stro fbdie. Pfó il muro diventa alto, più
difficile diventerà per voi poter sparare.
P otri capitare, infatti, che 0 ftadfe ven-
ga posizionato ad una altezza inferiore a
quella dd muro. In questo caso U ragno
potrà scendere indisturbato, e stornare
un altro mattone sul muro, aumentando
ulteriormente il vostro handicap»
oche per voi però c'è una pnmihilìtà!
i vostri proiettili, di una lega speciale,
sono in grado di sgretolate un mattone In
due colpì* D primo colpo comprime il
mattone, mentre il secondo lo attraversa
come se niente fo me» Se vi trovate di fron-
te Il muro, quindi, sparate b stesso! Se in
futuro vi troverete mUn stessa posizione,
potrete sparare al ragno forando li muro.
Ma attenzione: D prossimo ragno che non
colpirete, andrà a tappare Q buco, invece
iti piazzare il mattone sulla sommità del
muro,
I ragù! in totak sono 20, ed a turno
scenderanno per costruire il muro» Se li
uccidete tutti, avete vinto; se Invece il
muro raggiunge una certa altezza , tale da
non permettervi più di sparare, allora i
ragni prendono il sopravvento e voi avete
per»» In alto a destra apparirà 0 numero
dei ragni uccisi, a sinistra il numero dei
colpi sparati. Se volete interrompere U
gioco, ricordatevi dì premere il tasto -Q» ,
100
l 10
1 20
130
140
150
160
170
180
REM CACCIA AL RAGNO
REM PER VIC E6 INESPANSO
l
SI =36874 SSE = S1 + 1 t S3=S 1 +E i S4 =S 1 +3
PU = 4 ! V =5 S PQKE3B979 r 30 5 POKE3B878 , 15
D = S2 ì TR=£0 t LI-307E0 s GOSUB180 ! GQT02 10
FRINT 1 ’ iX' ' 5 K*=“*T - FQR I = 1 TOD * PR J NTX*# s f€XT
Compv ter Club- 29
Con i nuovi programmi itali
Commodore 64 ser
Per tutti i possessori, anche futuri, del
personal computer Commodore 64 c’è
un’importante novità: la creazione di una
vasta serie di nuovi programmi realizzati
PROGRAMMI SU DISCO
PER CBM-64
Prette il pubblica
(IV a cacTùsiJ
GESTIONE AGENTI RAPPRESENTANTI
29.000
GESTIONI: AMMORTAMENTI MUTUI
29.000
GESTIONE ANAGRAFICHE
Ì9.000
GESTIONE SCADENZE POLIZZE
75.000
TOTOCALCIO
23.000
GESTIONE BILANCIO FAMILIARE
23 000
GESTIONE CONDOMINIO
1 89.0Ù0
espressamente per le esigenze italiane.
Con questi programmi i tecnici italiani
della Siri us Elettronica mettono a disposi-
zione un servizio che trova Utenti nei più di-
IMPARIAMO IL BASIC
39.000
GESTIONE STAMPA FATTURE
34,000
CENTO PROGRAMMI PER CKM 64 (diddii
49000
GESTIONE FIDO CLIENTI
29000
GESTIONE CONTO CORRENTE
GESTIONE CONTI C FG
GESTIONE APPUNTAMENTI
GESTIONE ORDINI
75,000
GESTIONE PORTAFOGLIO CXI/FOR
49000
E lo trovi
w
ause ì'mi s a i
t io Mìigeftik.
20 i23 MILANO
PIEMONTE
ALBLRTEN s n c
Via Sttadel b. tu
101*' TORINO
SOFTEC COMPÌ T£R S.r.l
C.JP ^ Maurizio, r 9
§tìl2* TORINO
rEKNOCOMPLm-ItS
Via Madama Cristi ria, ii7<.
10125 (ORINO
HOBBY SOI INO
Cono Tr jiùm. 29/ Il
1(1115 TORINO
ROSSI MARCO E FIGLI
C'.so 'Nìzzj !6
(2100 CUNEO
LIGURIA
MARISA StLANO
V'b Carducci, US
16131 GENOVA
RAPPR FI d. A TERSO
Vi* Borgo Ratti. Zl/(. r K
16U2 GENOVA
VlDEON di BOREA
Vu Armenia, 15 Cancello
16139 Gt : NOVA
M AS£A AGOSTINO ul
\ E.! Canitìjjrr-i L7/R
16159 GENOVA VOL TRI
DIGIT CBN TER > nx
Via A iseeeitt, 7B
I601È RECCO
£, A S. A, COM, S t*. X
Via Adirle Sim suo.. 8Z
18L00 IMPERIA
Jil.TR.QN s.nc.
Via LunLKuna, 602
39100 LA SPEZIA
LOMBARDIA
AL RISPARMIO dj CASTOLDI
V.le Monti, 20*
3GL26 MIL ANO
A R T E.
P ie CsdOTTVi. Lì
30121 MILANO
BRULLI M ì GAS <]r V Ll'OSl
V u ElrnlcilO 4J
20:21 MILANO
C Q D
C ontorno Grot>iwti Detugi'oun
P is Pf Artidi., ì
2{H46 SUL. ANO
WORK SVS1LM di M AMORE
Via T-nrinu, Ili
201>S2 CASSANO PADDA iMJ-
M ARI AM S : COL SGROSSI
V le Hnanja, 23
20OJ* MEDA iStli
vlHM INFORMA TR -A SYSTEMS
C so Ruma, li?
200T5 LODI [MI)
SUNNA GIANI R ANCO & C > n«.
V-i^ Calchi, S
27100 PAVIA
C ART di TORRI £ PROSDOt IMI
V i,i N.ifKilcuna, f?/S
22T09COMO
FERRERÒ SERGIO
Vm Mameli, 22
7 1052 BUSTO ARSJZIO - Vai
L.'FLE TTRONK A
di i ANALI GIORGIO i.n ^
Via Speroni, 14
23100 VARtSl
TECNICA U JOGRAl IC A
contabili:
Gali Ciurmi
C ASALMAGI..IOR I i( R i
m-KE TEMfORlN
C.ìoGcfiuvj. II?
vm VIGEVA NOI MI
V » SI TO
VI t , . di Ctrl I e c;
L 'ao Cjvijur. 35
:7P> VERONA
CESIDI 1 >,i»
li i F REDOLI A C
\ m LdtJnelli, dj
>7100 VERONA
KABUKI RAF! ALILO
Vm Steli*. I?
r\7\ VERONA
NOV A S> STI Miri
V j Dmeipiin ». q
.DOS* v M ARTINO li A |VR ,
DAICOM s rl LJAI ZO VI USQ
Via Na i 5
>6100 V ICKS/ \
ZVIXATQt r I
C mi Palìadie n
J ò 100 VICI NZ\
MARANGt INI GIUSI PPE e (
Vii Marconi, 8
36019 St HIO r Vii
COTIC A SAVOIA
Vu [aria rulli. *K
RE IV FRI TO I FNl
PRiK'LLI-J k
V in K in Brandelli. 151
>Kfl3> CAVAI ISK (FNl
COMPE l i R POINT
S ìa l'iovesr, >7
isiixi Padova
CàBHT ri
V 'j Ariflota ! I
>5100 padov ^
SIC ITALI \
Vi* PiÉiijf-.-, r.ì
15(00 FAllO* V
t A PETO R
Vi* _S VlaiL-ji
« >100 vs M VI A
F LL1 BONAZ/,1. S.r.l.
Vu V Sarpt, Il
MKJ4 MILANO
CDMM PER GOLETTO
Vu SV Siirjiihif ^6/vS
26013 CREMA
PRISMA 5 n c
A u dnvkri, 35
26 100 CREMONA
Giti UGNI LAI R \
Vi., (PfHidnj. 5!
2LÌ1JI Nili ANO
GIGLIONI S r i
Via Slurtfl. O
som sili. ANO
M AH CULT I SpA
V'b \ Hi Bronzei!., >7
JtH? 1 ' SUI A M >
PENA 1 1 s n.c
’i u Verdi. Zfl/30
JOULI CORRETTA iMh
I- HI G IR i i TO u.i
S li Oipsiirt P-: . se-k 2i
san \RitM30 avi
tR£ì * r =■
Va ftifltr
} H>' CESSALTOiTVl
TAL AMENii e_ L V IO cC l (F
Vj Ga<: . 6- idi. 2
3(029 VITT VENETO (TS i
fltlLI VENEZIA OILUA
CATELLI FRANCO
P.rj XX Seticmbrr
DITO POR E TENONI
rREVTSAN ine.
P i ri Du-nma Ì
D * 1 dine
AUDIO vjaTKIX W’ dt ZINI
V* Marconi Z4
J4I3> TRIESTI
FORNIRÀ D di CAS ANELLI
VSa Culo^nia. Hi/I>
34(26 TRIESTI
EMILIA ROM AG W
REGCHlONIPft? ARTUmt ■
v Or as -
i- " BOLI »GN
BRLGHFNnf v£.
V il R ’ Z ftis j t
,10122 BOI (KsN A
COMPÌ TER SHO?
J RON( HI TONTNi .
Vm Efhiiu,
«o:* |M H A BOI
MlCROlNFORMATiCS
P ;.u sijfi:" ' i
*1049 SASSUOLO i Mf i
E, A M COMPÌ TER jrc
Vu C BuLEblC, i '
iljfXS RUBLLR a RE)
FON GOL INI ItLFCF t F !
Vìj^ t avjjur. >2
JiQJfi FIDENZA l PRl
OV AM lino
s i,t Mtganarn.
4*022 COMA( CHlO iFL :
FL ECTRA J.r l
V «j. Capcmiai>
47K(0 KIRL.i
CHIARI VTTTOII1D
V akT.*
4 >" RIMISI FO
GK> VX
Vu Potesme. 355
47021 CLSf N A
OTTICA aRCF-RE
di HOM VIARIO e C s.nC
V u Brenta. *
i 7036 RIC ClONt XQ ,
TOSCANA
VfOl STIC FTDELITY di BiAGlGTTI
s a PiMr’ij, 16 1
FIRENZE
? SOLO IR ADE CENTER cr t
F ::j :‘eld Cfr^ ìi 22
■ LECCA
Bfc NETtl IV O
^ - N t ;. .'tuie. <*
TERRARDSSA IMS)
pi..- NI SILV ANO
V j, -neo 6*
'-otto PIS A
= - - ELETTRONICA* n ;
bvre U
r ptsciA rt
IM1BU
Vii : ' MPrR N' E LEU mt
r V a VX Se^--rt. ^6
‘ 06 v PEIL ÌLa
tiUOi
ELETTILOCaSa d£ P1ERONI
v if vu^iz. s
» JJ I rlE (MQ
t % Fr = + '7±
v * C«^4= *
CORRIDON^ MC ■
A LIMO S^O?
V * :
ASCÙLI PSCENC-
VLU ELETTRONICA
J ^ - ± — n
pori c : «.>: : lj - a pi
DISC O C1,j
V a a — -
KEAMC i '
DW£ MC A
■ j, - -art?* .
S r : N ; - “ - - ìL TRON TO (API
ani della Sirius Elettronica,
ve proprio a tutto.
versi settori delle attività produttive: dal
dentista all’albergo, dal negozio al teatro. E
molti altri ancora.
Programmi semplici da usare, chiari, e ra-
zionali. E in italiano.
Tutto questo per valorizzare sempre di
più Commodore 64.
GESTIONE LIBRERIE E BIBLIOTECHE
29.000
cash computer ristor anti
89,000
MAILING LIST
75 000
WORD PROCESSOR
7S.OOO
WORD OS MAIL
139,000
CONTABILITÀ FATTURE C/F
49.000
GESTIONE ALBERGHI
139 000
CASI! COMPUTER PARRUCCHIERI
4 9 IKK)
CASH COMPUTER COMMISTI
49 000
MAGAZZINO E FA IT ORAZIONE Hj<> m*
GESTIONE STUDI MEDICI
49 (XX
DUPLICA TORE ARCHIVI
23.GOC
SINTETIZZATORE MUSICALE
29.mc
DATA BASE _
39.000
RUBRICA TELEFONICA
2.1 ODO
GESTIONE STUDI MEDICI ELABORATA
239.000
E X PI R T SYSTEM GIOCO DI DATTICO 23.000
ovunque.
PASSI Hnfi PA.E rjMiui Axjti
PASSI Hi 1
Vis Orti vani , 41
ÓÌ02J FERMO (AP?
SIP UFO SOI INO
Vjj( Matrmu
CaMPOHLONL iAP)
PELLEGRINI MAURO
SlXidi SliiUif A dn.it 1.4
Marzocco di sfmgali w gì
LAZIO
PALOMBO ANTONIO
LCM IN HI H
1 , ^ti Repubblica l^i/ìdS
04]L<1 LATINA
TOCCHI \l LI RI NA
3. jto Marconi, '4/1^
«:4n "1 APRI LI A U T)
V v a Sol Ni) % ni
V ù Mente Efappa 1 1
GAETA .LI ■
c A R E T i ri
ARRI /./C> | MOLISI
L no Beloni 4
00191 ROMA
KLLI TOC ih. FTT A
Via Sj JJ u , N 1
CIARLANE INI xrl
Via T ùJTtxcii Lbca^ j 50
QOIóH ROMA
L'aquila
ASPRO N
V:& Arncrna,
SVEZZA NO (AQ>
DISCOTECA F'R ATTINa
V u Frjtbna, Alt
00IS7 ROMA
LITTORIA NICOLA cC ì.ì..-,
Vìa PirvatJ P, (. ileiiomn, 4.^
EU TTRcìpOltEk di 01 DT MARIO
SULMONA ^0
Vui Votimi*^ 401 ab
'XHES ROMA
NERE \IMC IÉ1
V f t4 Nazjjrio Sjuru, rio
FOTO FORNITURE DE BERNARUIS
GIULI A NO VA liti
1- ì.i Cànge tic rii, éJ
ROMA
AI.-CIM DOMI. NILO
Vi» Nazionale
MFRPHOTO srl.
ROSETI i- FJFGl i ABRUZZI (Iti
Ara'iOnKi II. 433/440
»l« ROMA
ELETTRONICA TERAMO
P in Martiri Penney»
SAUTFCAL ViDLO COMPÌ. n R
TERAMO
GALLERV
- a Decani Vtccfm.^/ìn
joiss Roma
fagma elettronica
v le Reacn* Mefftlurai^ , "4
PESCARA
LEONARDO 4 ri
‘ ia Chiifnn 7 1 ?
0)44 ROMA
STEFANO NICOLA
Via Madnrma dell 'Ani lo
vasto reti)
METRO EMPORI
■ 4 1 AiftÉic 1 !o t?
«1% ROMA
PP ] ROSE .villi Ó AMLt IO
P./i FÉbturlo JU
L ANCI ANO C II
RADIO NOVELLI
? ir Prencxlrirfci. 34
?6 ROMA
SISTEMA s r.l
Via Mfsnsi^nen' Hulo^ra
CAMPO BASSO
R aPPRESFNTANZE f. TECNICHI
V -* Ora/m H 24
■400 ROMA
F LU SCIUSCIÀ
< M) Um berlo 1
TERMOL E (CHj
< PM di MANCINI
■ a G-uFii. 3*2 - 142/ A ■ W3
PLC LIA
€1*6 ROMA
AF.TEL
' >NEL ONL FOTO OTTICA
V,a Fanelli, J06/24
^ adio rv
; - i“Li Ci^iilcijen, E5/I
KS*S ROMA
BARI
INSl APE ALIA BaGNaRDE
\ i4 Cardasti. ;G/12
HAKJ
DI CESARE GIOV ANNI
f* /a Vf j jrf:i n 1, 7/ IL/
i LSM RMINO (BA
Mi VihMITOlO
V i.i I ab ni Li
BITONTO tb.\ì
BtSGEGLtA Cai DONATO
Cuf'i (JiAF-Doni 23 F
-■ MARCO IN LAMIStFGl
M ARANCI NICCOLI GRAFIA
Vm A c darti, 27
HH INDISI
RUGGÌ RO VITO
Vii A Sj:JcI1i l ‘5
4 VII 1.1 Ut 1 NORMANNI i|iR ■
usto di Mar AGL INO MICHELE
l io Rgir*, IW
M VSSA.FR A (T ARANTO)
C \ME.t. diCAMASSA VINCENZO
V .i Marìmossi. l/j
LECCE
MOKI r.ASO FABIO
V Madonna de H-nrif. m
novoi 3 arca i
CAMPANIA
SGNLTI L AGNETO (ut
V in t «Tulio Podio 74/8?
NAPOLI
m KiAsh salva tom e i neh 4 ti c
V|.J | ,lfl/ic’H. : 5 / 2 n
N APOI I
[ LI I Dì PIETRO Sp A
P za Me rea io iìj
NAPOLI
ni w tu pica
rOJIcru L ritenti I L
napoli
LIJXOR RADIO
(.Allena Umberto l, S l/S-4
NAPOLI
f' V ELETTRONICA
i V ACCHIANO l'fi vNCfòìCO
V ■ j R rifinì ? I
t li t (ANO ■ N A j
DILLA FRONTI GAI. T ANO
L *» Vittorio Enunuele Fin
■AVI ; 1 ino
FLIP-FLOP t ir |
V u Appi*. M
aGRIPALDa i AVELLINO)
oh vndi m agazzini picciotti
Via Midnrtna di Fatima, 13
SALERNO
CALABRIA
\NDRF.ON! Di CALABRÒ
¥ RANCI ‘.SCO
V là ( juroli, 4
REGGIO CALABRIA
PUF INVAI ANNAROSA
V'é N .mutilile 1
A Ri ^ NI IH REGGIO CALABRIA
F Hi Gl Al. I li RI
( --i IL. ,‘pni ! L -"
COSSN7A
GIORDANO GIOVANNI
P.z.i Prowintu, j
COSENZA
Al J HO UDÌ- L ITT SHOP
di SODILI VU:
Via Spassar! H
C AT AN/ ARO
GRANDlNFTTt RINALDO
Va Beau Ardili, Y
CATANZARO
SICILIA
CFC 41 I
V,j NeEa/b.rtol(.i 2?R
PALERMO
I CT S p A
Vra L. drs Vinci. 213!
PALERMO
M IGLIORE S r A.
Via CùsTanima, J, !
PAI ERMO
PEDONE S f A
v ce Sirsiburs& 1 *■
PALERMO
I RAFANI SALV a TOR f'
Vta Roma, >123
PAI ERMO
OTTICA l O Vili LU
\ il A tenta, 1 1
AGRIGENTO
PEtOft ILLA IGINIO
Vii Ale ned 24
AGRIGENTO
SC ARROTA ANTONINO
P mi Notai. 6
I RAPANE
FEHR AUTO srl
t' su Umberto. 233
caltanise n a
sirius
elettronica
MMNOfìORI (ASSAfìOj Pai zm f 2 5” pano Tel 8245321
190 FCRJ = 1T0£HPR1NTX*JSPCC 20)X*J «NEXT
EOO FOR 1 «8 164T08186 I POKE I , 102SPOKE 1 +W ,PU I NEXTJ RETURN
ElO R»10tC»3lGOSUB900lPRINT"KACClA AL RAGNO"
BEO PR I NT “ — P REM I UN TASTO * ■ GOSUBS t 0
E30 L=93! Y=LsX“'7703i POKEX, Y:P0KEX+W,V<S»EEtN»3£iM*3EiU«^£t VE=»E0O
£40 FOR 1 * 1T08 i GETA6I IFA*< >" "THEN3 10
£30 X-X + S iPOKEK ,U i POKEX+W ,V t GOSUB9E0
260 G0SUB930 ! POKEX , L s POKEX+U,Vt NEXT
£70 lFL*NTHENGOSUB910tGOTO£30
£80 POKEX ,Ui POKEX +W, V s GGSUB930 i IFPEEK< X+0 > “3£THENM*9
£90 GOSUBS30 i POKEX *-0 ,Mi PQKEX+-W+D ,PU » GOSUB940 1 GQSUB930 s POKEX ,N
300 S--££JL=3£iGOTO£40
310 PR INT'ii* IGOSUB180
3E0 FORG» 1TO20 lGETA*:NEXT
330 SP*0*RA“0JRR-0IUW=0:R=0t C= 1 8 1 GOSUB900 1 PR INT'fiB'SC : PR 1NT“®Ì»"T
340 R« INT< 13HRNDC 1 J +5 )
330 F*=CHR*C 144 ) *CHRS< 1G3)+CHR*< 163>+CHR»< 17)
360 F*»F*+CHR*< 137)+CHR!« I37)+CHR*< 163)+CHR*< 163)
370 F0*= ’ mU “ IC*=1 IGOSUB900 :PR INTF#1G0SUB9 10
380 VE 4 *RMD< t ) * , 3 ) *30 1 C = t NT( 1 1 *RKO( 1 ) + 1 )
390 X1-7710+CSPOKEX1 , Y! POKEX 1 +W,V
400 FORSS=1TO£0
'410 X 1 *X 1 +D : POKEX 1 ,U> POKEX 1 +W,V
4£0 1FSP-0THEN0ETA*! IFA*«- " " THENSP - 11 GOTO460
430 ÌFA*« *0 " THENPOKEV ,0 1 P0KES1 ,0iPOKE62 ,0:POKES3 ,B:P0KES4 r 0 : END
440 GOSUB9£OtGOSUB930s POKEX 1 , Y! POKEX 1 +U,ViKEXT: POKEX 1 ,U f POKEX 1 +W,V
430 GOTO380
4B0 T=T + 1 iX = 7683+0*Rt FORGI = ITO 17! POKEX + Q ,62 : POKEX +U+0 ,0:PDKEX+Q .N
470 M-X+Q+l* 1FPEEKC H )< >NTMEN490
480 KEXTQ
490 IFPEEK< H)' 102ANDQt 7THEKP0KEH , 1 1 8 i POKEH+W.PU * GOSUB930 : PP= 1
500 1PPP=1THEFF0KEX1 ,YiPOKEXl+W,V!PP=0iKCXTSS
310 1FP£EK< H>* 1 18THENSEXTQ
520 1FPEEK< H ) » 102THENGOSUBS50 I I FWW-0THEKPOKEX 1 , Yt POKEX 1 *W ,V S NEXTSS
530 I FRR= 1THENGOSU87S0 ! GOTO590
540 I FPEEK< H ) =UTHENGOSUBS80
350 1FRG=1THEKRG-0SPOKEX+Q+1 ,3£
560 IFTR=0THEN630
570 IFPEEK( X+G + 1 ) “YTHENGOSUB940 1 RR= 1 (X2*X1 !UUi*l : GOSUB690 : KEXTQ
580 IFPEEK< X 1 +D ) * 1 02THENGOSUB 1000
390 IFPEEK< 7773 )“ 1 02THEN840
600 FOR I “SSTO ISTEF- 1 t X 1 *X 1 -D ! POKEX t ,NI TT=S IN< 5 ) * NEXT
610 C-l tGOSUBSOOiPRINTFO*
620 G0TO320
630 PRINT*J*MHAI UCCISO TUTTI I"
640 PRINT"aiFAGNI 1 N " I TJ "TIRI 1"
630 PR INT! PR INT'flMt/UO I GIOCARE ANCORA 7"
660 GETA*: IFA*«" "THEN660
670 IFA*< > -N’THENT-eiSC-OITR-aOIFW-BSGDTOaiO
680 END
32 - Computer Club
Se non volete problemi di memoria,
meglio far lavorare 3M.
ì problem di memoria di
un'azienda trovano la prima rispo
sta nel la 3M già nel 1951 . anno n cui
la 3M sviluppò il primo nastro ma-
gnetico per computer.
Questo dato fa drce lunga suf
primato di esperienze tecnologiche
maturate m questo campo dalla 3M.
sul patrimonio di qualità e affidabili-
tà dello produzione 3M nel settore
dei supporli magnetici
Prendiamo le diskettes, ad
esempio: omologate dai maggiori
costruttori, certificate al 100%, ga- E non solo con i prcx
rantite 5 anm T esportate in tutto il formatici Ma anche eoi
mondo, distribuite m Italia attraverso fotocop atura, microfilmi
una rete captare di 400 punti ven- e di telecomunicazione
dita E soprattutto disponibili in una
gamma completa sia nella misura
da 3 pollici che in quella da 5 e 1/4, e
con un esclusivo rivestimento ma-
gnetico che consente un'eccezco-
nale resistenze all'usura e la massi-
ma affrdabrlità. 3M ha sempre una
risposta pronta per i vostri proble
mi di ufficia
La tecnologia risponde
PRESENTI
ALLO SMAU
Pad. 13
Sai. 1 /
Post. A26 V
Prodotti per l'Informatica
Op*r*lrm# Sralemi p«t njTJiCiO
S«tfe- Via S tono. V3 20090 Milano S £ óbc® Sograle Tal 02i , 7il J jE
Fit.a:i 1 orinola MesErn r,j| 04 - Ganc-va Tel Q1&451OT
T é?i 031/55715? f priore T e 133, ''Sii**! 1 noma Tel 06*534 Jì - T#' OH'i't6C2(K
Ois-tnb-HjfHX Su^rij^air iiì Sulla Yflhq- Ci alte a *4 Cenili n* ecta-li qr 3' t, Igjn Iure pe
nti *
. ìp* 1 ^
j[
690 P0KEX+Q-2I , 74 ! POKEX + UI + Q-2 1 »V
700 IFPEEKt X+G+33 > = YTHENPOKEX+Q+23 ,85 SPOKEX+Q+W+23 , V « Rfl" t
710 RETURN
720 IFRH-0THEN740
730 FQRCC'7710 + C-*-D*RTOX l -OSTEPD « PDKECC ,N« POKECC-Hd , V «NEXT
740 VE <= 15 1 IFSS=20THENGOSUB92B« RETURN
750 PQKEX 1 ,N:FGRM=X2T0C X2K 19-SS ) *D >STEPD
7S0 POKEM,U«POKEM+W, V « GOSUB330 * POKEM ,Ni l\EXT
770 POKEM, UtPOKEM+W,V«GOSUB320
760 P0KEM,N«F0RMM=MT08 150STEP-1 *POKEMM,U : POKEMM+W, V
730 6OSUBS30 : GQSUB920 t POKEMM,N
800 KCXTM'U FQRP = 11X120 « IFPEEKt W-2X >NTHEN»M = MM~0 ! KEXTfl
810 P0KEFB-I-1 ,U : POKEJ't'l+W- l ,V«GQSUB340
620 POKEMW-2, 102 i POKEPW+W-2 ,PU « GDSUB9 10
830 FOKEMM-1 ,N: RETURN
840 PR INT "«JBHBHfl 1 PERSO !!■"
850 PR INT* HA I UCCI SO’; SCI 'RAGNI *
880 PR INT "®|IN“ * T* “TIRI*
870 P R I NT 1 — * ; TR ? "RAGNI SONO * J ! 1 F TR = 1 THENPR I NT “ MHW E'
880 PRINT:PRINT"BPNCORfì VIVI *1 ; IFTR = 1 THENPR INT" IK) "
8S0 GOTO650
900 RC*=*H*+LEFT$< R*,R>+LEFT*< C*,C) !PRINTRC*J «RETURN
910 FORK » ITO 1 000 «NEXTt RETURN
920 P0KES3 ,230« FORZ - ITO 10 « KEXT« P0KES3 ,0 «RETURN
930 F0R2Z= ITOVEsKEXT! RETURN
940 FORAfl=200TO230STEP5 « POKES3 , AB * NEXTAA : P0KES3 ,0 « RETURN
930 FORAA=230TO128STEP- 1 , 5 « P0KE54 ,AA : POKES t ,AA
960 NEXTAA ! P0KES4 ,0 S POKES 1,0» RETURN
970 FORZ “230TC180STEP- .5 «POKES 1 ,Z «(^XT«
980 POKEH , 170 « POKEH+W, V « TR *TR - 1
930 GOSUB970 « SC=SC+ 1 : W14= 1 «RG= 1 « RETURN
1000 M*X1 « SS = 20 • GOSUB920 I POKEX 1 -D , 75
10 10 POKER! + W-D , V « VE» 13 « GO SUB 780 « RETURN
READY.
34 CowpulcrCiLb
Studi Avanzati
Gli Alberi Binari
di Ricerca
Un breve listato che consente di
rintracciare \ dopo soli tentali vi,
un certo dato inserito tra altri
65535!!!
c
k_7 t cu rumente (ulti I fortunati possessori
di un Perwiìul-Computer operante in fta-
sic e corredalo da un floppy-disk ni saran-
no almeno una vtJta posti il problema
della me mori //azione t del trattamento
di una serie di dati nume rìdanoti (agen-
da telefonica* contabilita domestica* in-
ventari* data base ctc.|. I na grande
maggioranza di questi* non avendo altre
basi teiì rie he se non quei le acquisite in
lunghe ore notturne passate leggendo ri-
viste di informatica* hanno partorito pro-
grammi che, pur “girando'* non sono cer-
to dei campioni di efficienza o di velocita.
Il problema che sì erano posti* è infatti
uno dei problemi piu importanti nell' uso
dei calcolatori U/ortbnaieur in france-
se-.)- Ber questo motivo si e creata tutta
una "scienza'* ad opera di eminenti infor-
matici, per cercare di ottimizzare e svelti-
re tutte le operazioni da svolgere su una
grande massa di dati quali 1 m ricerca, la
aggiunta* la cancellazione e l ‘ordinamen-
to di dati. L na di queste teorie che mi
accingo ad illustrare, corredata da pro-
gramma* e quella che prende il nome di
ALBERI BINAR? DI RICERCA,
Desta teoria, affascinante un po’
ostica* solitamente si affronta studiando
seriamente il Basca! poiché gli alberi si
'sposano' parti colar meni e bene con un
Lignaggio strutturato quale il Pascal è,
N iklaus VViiih ii ‘"papa" del Pascal, (e
non solo luì) ha dedicato a questo tipo di
strutture* parte rilevante dei suo libro
" AJgurilhms + data structiires =
program*'*.
\1a cosa diavoli» sono questi alberi, co-
sa c'entra In botanica nei mondo
deir informai ita?
omc lo stesso H irth li definisce, essi
sono: una struttura dati che e naturai-
mente definita "recti rsi esiliente* ed ela-
borala con algoritmi “ retti rsiv i\ I n albe-
ro e costituito da un insieme finito di hfwli
ed e vuoto o costituilpda un nodo i radice)
con un numero fui ito di alberi disgiunti*
chiamati '“sottoalberi'V Nessuno hu la
pretesa (neanche lo stessi» Wirth? che
questa definizione possa chiarire le idee
in merito.
un volendo certo far ora un tramato
sulla materia* (per un approfondimento
dell' argomento vedi testo dialo), Limiterò
la mia esposizione ai solo caso particolare
degli ALBERI BINARI* tali alberi sono
una semplificazione rispello y quelli GE-
NERAI! |»>Ìchc da ogni nodo nm dipar-
tornii nodi* ma solo e sempre 2 (Ttg. Dea)
e ih). Quella parola strana che troviamo
nella definizione, Teeursivo'., 'recuniiij'
mente** ere* e sicuramente sconosciuta a
tutti coloro che non hanno mai lavorato
su altri linguaggi se non il Basic. Linguag-
gi 'strutturati' come il Pascal i rifai li per-
mettono rimplementazione di quella tec-
nica potentissima* seppur di non imme-
diata comprensimie, che è La RICORSICI-
NE.
Il Basic 1 fruii permeile lido altro che
rirnpfemeiiLiZJorttr di procedure * itera Ri-
ve')* si e precluso per sempre fuso degii
alberi binari? Per fortumi no* e il pro-
gramma che presento* infatti, ne e La pro-
va.
«diamo di chiarire ora un alt ro punto
importa miss! ino; a cosi servono gii albe-
ri. o pio precisamente i 'scardi binar?
iree*' i alberi binari di ricerca)* Questi
alberi espletano mite la loro potenza nella
memorizza/ ione e ndr aggiorna mento di
una grande massa di dati dello stesso tipo.
T idi dati possono essere singoli (esempio:
un numero? o composti (esempio: record
persona = cognome* nome, età* sesso).
Per fare un esempio concreto di oli tizzo,
|Mmsiamn di immettere nel nostro calcola-
[ore I Vigneti degli abbonati al telefono. .Sé
non usiamo gli alberi, siamo costretti ad
usare un arrav tu (ìlei sequenziale rie!
quale aggiungere lin coda) o togliere ctc-
meniL I problemi pere sorgono a! mo-
n vento dell 1 ordinamenti» per ordine alfa-
betico* nella ricerca di un dato numero
etc,
on gii albi ri tutti questi problemi so-
no risolti nel migliore dei modi: grazie
alla sua struttura 'biduneiLsitinaJe' leori-
camente infinita ìalle “foglie' inferiori
possono sempre essere aggiunti altri 'no*
di h ], al momento dell'immissione* il nuo-
vo dato viene automaticamente posta in
ordine alfabetica e* durante la ricerca*
nei peggiore {lei casi* il dato valuto è (ro-
vaio in LOG2 in) tentativo. Esempio:
avendo dati memorizzali, il dato
voluto sara trovato al massimo in Ih
tentativi!
è ora da far una importante preti-
sazio riti nel caso di dati complessi, come
può essere il caso della agenda telefonica*
Computer Club ■ 35
OBt
36 Computer Club
il dato siesta i j diviso tu vari “campi"
(cognome* mime. etcì* unti solo dei quali
però costituirà Ih chiave" con Ut gimlf si
s volger armo i un v le operazioni. He nelTc-
sem pio precedente b chiave è il campo
'cognome** allora lutti i dati saranno po-
sti secondo Por dine alfabetico dei cogno-
mi, si potrà ricercare un certo cognome
oppure cancellarlo e cosi via. A quel dato
cognome però saranno legati indissolubiL
mente gli altri dati a lui relativi quali il
nome, l'età, eie, sebbene su questi non
venga svolta nessuna operazione inerente
all'albero.
D alla teoria scendiamo piu nella prati-
ca e tediamo di analizzare quelle idee che
hanno permesso la realizzazione del
programma.
Il programma
stanziali tra il Pascal ed il Basic a causa
delle quali saremo astretti a porre delle
semplificazioni strutturati, (Purtroppo
tutte queste differenze sono a svantaggio
del Basic). In Basic e impossibile una allo-
cuzione dinamica’ di dati in memoria,
nun sì e in grotto cioè di riservare uno
spazio nella memoria centrale per un cer-
to dato [sìngolo o composto che sia} e
rimandarne l'indirizzo dì locazione ihesi
in una variabile. Per sopperire a questa
'deficienza' siamo cimiteli i ad utilizzare
un arrav per memorizzare i nostri dati,
imponendo purtroppo a priori una limi-
tazione alla struttura teorica dell'albero:
si deve definire a priori il numero massi-
mo di dementi che essi può contenere*
provocando cosi un grande spreco di mt-
moria per tutto il tempo che ci saranno
pochi dati, e impedendo assolutamente
l'ingresso delTennesimo +1 dato. Tale
numero massimo sarà contenuto nella va-
riabile M AX^r: cambiandolo si potrà cosi
‘personalizzare’ a piacimento il
programma.
lira deficienza del Basic, sia detto
per inciso , è quella di non poter 'passare L
parametri 1 alle subrotitinr per ‘ refe reo-
f i i.u ip- d ;■
diiivt Uithlrn pnni.<l«lrn
A*
(0)
- PAOLO
F'T \
(0 4 M) =
1
P 1 %
<u,
1 >
—
Ai-
{ 1 ì
= rifui ] ANn
Pi a
t l * 0 1 =
- 1
F t %
U ,
1 )
«=
3
Ai
(2>
- R OSANNA
F IX
( I , U ) -■
- 1
FI X
(2*
1 )
-t
M
«70
- lui é'i
FT7.
(7*0) *
- 1
f' 7 X
<3,
i y
=
-1
tabella f
Lui allocuzioni: uo Tiri 1 eh iti ve c p^u-niiiTc ni ni Un ffu-ininria *ki 1 1*7 Lv>l:i ime
za 1 , il che comporta artifici non indiffe-
renti ed una certa perdita di tempo e di
chiarezza. Se quindi A$T e un array che
contiene i dati da memorizzare sappiamo
che deve essere ‘lungo' MAX% ma non
abbiamo ancora detto niente sulle sue di-
mensioni. Esse infatti dipendono diretta-
mente dalla natura dei dati da mfimirii*
zare. Se i dati sono sìngoli e di natura
numerica* Tarray risulterà definito DIM
A (MAX%). Se invece i dati saranno alfa-
numerici e magari cimipOfcLi («empio: co-
gnome, nome* indirizzo* n.ro telefono),
allora bisognerà dimensionare il vettore
diversamente; DIM A$ (MAX%*3K
M a allora è sempre la stessa storia!?
Non!!! Di contorno a questo arrav infatti
ne esistono altri ed uno in partkotare che
fa si che si possa parlare di ALBERI: è
rimy PT% (MAX%.,U. Questo* la cui
natura è rivelala dal segno contiene i
'puntatori' destri e sinistri di <*gni nodo*
Mamma mia* qui si entra nel diffìcile!
t ome si e potuto vedere in figura I* ogni
elemento e legato al nodo ‘padre’ t riunite
delle linee chiamate ‘link 1 : esse .sono in
realtà de Ile 1 informazioni' residenti nel
nodo padre e contenenti l'indirizzo (Tin-
dkr dell 'arra} 1 A) nel quale il nodo figlio e
prtsenl*. Risiti la cosi evidente che r ac-
cesso ad ugni nudo può avvenire solamen-
te attraverso un cammino ‘discendente 1 *
partendo dal primo nodo e seguendo di
volta in volta il cammino a destra o a
sinistra (secondo le necessitai indicato dai
'puntatori*.
Computer Cfub - 37
QRf
di' esempio in figura 2* il primo nodo
contenente il dato ‘PÀOLO' e allocato in
\$(0j, sa che albi sua ‘sinistro' c’è il dato
contenuto in \% il cui indice e contenuto
nel suo ‘puntatore ministro’ PT’iHO,®} =
1 * cioè AS( i ) = GUI JAN A. Lo stesso per
latita destra PT%tO*l) — 2, A$i2] = RO-
SANNA eie. Se un nodo non ha discen-
denza destra o sinistra, i suoi relativi pun-
tatori dovranno assumere un valore par-
ticolare detto NHL, Nel programma que-
sto valore è staio scelto -1 poiché indire
‘impossibile’ dì u narrai- Il problema ora
e però capire come aggiornare automati-
camente questi puntatori durante i 'im-
missione di nuovi dati, e con che criteri.
L^immissione dei dati
e ['aggiornamento dei puntatori
\ z j mutine INGRESSO è stata realiz-
zata rendendo itera tt iva ia corrisponden-
te e ‘celeberrima 1 procedura ricorsiva
suggerita da N A\ irth, Innanzitutto dicia-
mo qual e il criterio che permette la co-
si ru zinne dd nostro albero. Al momento
dell'ingresso ìl nodo deve esse re posto alla
sinistra di un m>dii con dato ‘maggiore'
Ine! caso alfanumerico si intende l’ordine
alfabetico} e alta destra di uno con dato
‘minore’ gin presente. N.R. Dado risulta
evidente che non r possibile inserire due
dati uguali, [.'indirizzo dei primo nodo e
contenuto in una variabile RT 1 ^.
C
up poniamo nel caso di figura 2 di do-
ver inserire un nuovo dato contenerne il
nome FEDERICA posto in una variabile
temporanea XS* Prima dell'inserimento,
la situazione dei dati in memoria, è visibi-
le in Laliella L Sia P v k un puntatore varia-
bile che permette di ‘scendere' attraverso
l’albero. Tale puntatori' viene iniziali zza-
to ( riga 70p a puntare al primo nodo \ radi-
ce) dell'albero, PAOLO in questo caso.
Sul nodo puntato viene svolto il confronto
determinante ( righe 220-230): si decide,
tramite gli operatori relazionali < e >
(anche tra siringhe per fortuna! ), se X$
deve essere posto alla destra o alla sinistra
del nodo puntato da ra. Poiché in querfo
caso XI < AKP**) (FEDERICA < PAO-
LO), allora !*"> diventa uguale al punta-
38 - Computer Club
tore sinistro dei nodo puntato =
PT^{ra,0j | e il procedimento si ripete;
si dice che P% è * ‘sceso a sinistra”, P%
ora punta a GIULIANA e siccome FEDE-
RILA e ancora ‘minore’* ra viene di
nuovo aggiornato. I osi facendo pero,
viene ad assumere il valore Ni IL- [I proce-
dimento di ‘discesa' ha cosi termine ' figa
200): si è cioè constatato che il ciato KE*
H ERICA non esisteva già, e se ne e trova-
to il (Misto ove locarlo.
c
LJ dilanio ora il dato è inserito i riga 250)
iHfH’array AS nella prima casella vuotai
l tratterò in seguito iJ criterio con il quale
tale casella è trovata), il cui indice deve
essere memorizzato nd relativo nodo
padre (Gli LIANA in questo oso), Solo
(piando il dato è memorizzato io A, ed ì
[Miniatori sono aggiornati, rii potrà parla-
re dì " inserimento del dato nell' albero”.
Siccome, come ho già detto, il percorso in
un albera può solo essere ‘discendente’,
Pind iri/zo del nodo padre, perso inevita-
bilmente dà P%, è tenuto da no altro
puntatore, ausiliario NX*r che e sfalsato
di un mulo rispetto a ra, Per sapere poi
se tale nodo padre era < o > di XS (anche
tale informazione era stata persa ), ri pen-
sa un flag' apposito: ST%, Ad ogni ‘chia-
mata", questa procedura immette il dato
nell'albero» aggiornandolo
or rei sottolineare che e questo uno
dei fattori piu importanti della teoria de-
gl* alberi: il calcolatore mette in ordine il
dato al momento della digitazione ed 0
tempo per far rio risulta irrisorio rispetto
a quello impiegato dà una persona a bat-
tere sui tasti. Ouesu* perdita di tempo e
quindi praticameli te incsktenle» mentre
al momento della estrazione in ordine dei
dati, si assiste a dei prodigi di velocita.
Problema in un certo senso sìmile dal
punto di vista algoritmico, seppur netta-
mente più semplice, è quello della ricerca
di un certo dato in memoria.
La ricerca
di un dato nell'albero
s,„. P „
contenente questa volta la ‘chiave 1 del
dato da ricercare. Riferendoci al nostro
albero appena aggiornalo dì fig, 2* sia da
trovare la ‘chiave' LUIGI Dopo aver co-
me al solito in iziiili zzato ra 3 puntare
alla radice, vengono di Fiutivi effettuati ì
confronti relazionali! (righe 3JML3401 simi-
li a quelli svolti nella procedura INGRES-
SO. In base a questi, ra scende lungo
J ‘albero dimezzando ogni volta U numero
di posti ove cercare il dato I . . ricerca hina-
ria,.)» viene COSI spiegata, J "e norme velo-
cità di ricerca ed il nome stesso di questi
tipi di alberi. Scendendo cosi, con lo stes-
so criterio con il quale il dato era stato
immesso in memoria* si giungerà per for-
zo con il trovarlo se esiste: se si ricerca un
dato non presente, la ‘discesa’ di ra ver-
rà bloccata da un inequivocabile valore
ML. In questo coso l'inesistenza della
chiave cercata viene comunicata (riga
320).
IV
1 ^ ri caso invite che II dato sia stato
trovalo, esso apparirà sullo schermo*
preveduto la puro titolo informativo f dal
numera della casella da lui occupata nel-
l'arraj À$. e seguito da due numeri, ri*
spetti vi amente i puntatori sinistro e
destro.
Riferendoci itJJ' esempio:
- LI IGl < PAOLO quindi scendi a
sinistra
- lAlGl > (ili LIANA quindi scendi a
destra
- LUCI = LUIGI quindi stampa:
3 LUIGI -I
( ”
onrinuando con le procedure IN-
GRESSO e CERI A, il nostra albero può
cosi essere creato e ‘visitato’; altra routi-
ne però sono necessarie per completare
quésta teoria. Lna di esse è quella [ramile
la quale si possono estrarre tutti i nodi in
ordine,
Estrazione in ordine
delle chiavi
V
up poniamo di aver ampliato il nostro
albero con l'aggiunta di altre chiavi. Sta
l’albero risultante quello in figura 3. Poh-
siamo a prima vista veder che l'ordine
alfabetico di quei mimi è;
FEDERICA - GIULIANA - LUIGI *
PAOLO - RENZA - ROSANNA
e risa re un metodo iterattivo (ricorsi-
v Amen te è facilissimo t che possa fare il
cammino per estrarre in ordine tulle le
chiavi te tutti i dati y lei iemali) è stata La
cosa piu difficile che ho dentilo risolvere.
Per poter meglio spiegare il procedimen-
to adottato, si veda il fico* -eh ari di figura
4. Ho dovuto ricorrere purtroppo a due
trray d 'appoggio. o meglio di un arrav
bidimensionale PR*MMAX% t l|. Lo sco-
po di questo array e dì tenere per oeiiì
nodo un 1 flag + di bloccaggio e l'ordine con
il quale i nodi sono visitati. Questo array
contenente i fiag deve essere mmalizzato
a contenere tutti 0. Tate mmalizzamne e
sv olia dalle righe 55lì-5ftfl.
ornando alla procedura, leggendo il
flou -diari e .sapendo che Liti' inizio tutti i
nodi non sono 'bloccali', vediamo che F*v
scende al mido piu in basso a sinistra, cioè
a quel nodo che contiene il dato ^minore'
di tutti gii ailri secondo il principio di
inserimento. Raggiuntolo, e non avendo
questi M>ltu«Jberi a sinistra, tl calcolatore
deve eseguire POPE RAZIONE che si
vuote fare su ugni nodo visitato, nel no-
stro caso la stampa del dato stesso mga
590).
S i guarda poi se il nodo ha sortoaJ beri a
destra. In caso affermativo si 'scende' a
destra, all rimenti, si ''rìsale" al nodo
precedente tramite l'uso dclLarray FR*£
(riga 620]!. Se questo nodo precedente ha
il flag di bloccaggio settati! o non ha sol-
tualheri ■ vinsi tra (se non può andare a
sinistra in parole povere], allora sì risate
ancora al precedente frtga 630). NJL
Precedente qui è inteso non neirnrdine
numerico o alfanumerico delle chiavi, ma
relativamente ali'ordìne con LI quale i mi-
di vengono visitati durante Tesecuzionc
della procedura,
Durame questo processo di 'risalita'
appena viene incontrato un nodo non
Compu 'ef Qui) - 3$
JaO
bloccato, esso viene bloccalo (riga 640) ed
il procedimento riprende. Lo STOP di
questa procedura e dato dal fatto di ter-
minare i nodi ‘‘precedenti ' ; il contatore di
precedenza, CP%« diventa cioè d (riga
610),
F* aceri do riferimento alla figli ra 3 ve-
diamo in ‘trasparenza* cosa succede. Vie-
ne preso in esame PAOLO, avendo di-
scendenza sinistra, ri scende a GIULIA-
NA e poi per lo stesso motivo a FEDERI-
CA. Non avendo questo nodo sottoalberi
sinistri, esso viene stampalo. FEDERICA
non ha sotloalberi destri, per cui ri risale
al precedente (GIULIANA). Quest'ulti-
mo non avendo la via a sinistra bloccata,
gli viene bloccata. Si riconsidera quindi lo
stesso nodo che avendo ora la via sinistra
bloccata, viene stampato. Contrariamen-
te al precedente, questo nodo ha discen-
denza a destra, dove si scenderà. Verrà
quindi stampato LUIGE poiché privo di
sottoalbero sinistro; essendo però questi
anche privo di quello destro, sì rh&Je a
GIULIANA e, siccome questo ha la via
sinistra bloccata, si risale ancora a PAO-
LO e gli ri blocca la via a sinistra. Per
questa ragione alla successiva passata
PAOLO verrà stampato e si prenderà in
considerazione il suo nodo a destra (RO-
SANNA) e successivamente quello a sini-
stra l RENZA) che verrà stampato. Si ri-
salirà quindi a ROSANNA e se gliene
bloccherà la via sinistro cosa che ne pro-
vocherà la stampa alla successiva passa-
ta. À questo punto si risalita a PAOLO
ma avendo questi la vìa a sinistra blocca-
ta, sì tenterà di risalire ancora, ma ‘so-
pra’ non esiste niente, per cui 0 processo
ha termine. Uff, in fine!! C*è da perdersi
ìn mezzo a queste arhonescenze
computerizzate.
-Facezie a parte LI programma ha
estratto in ordine alfabetico tutti 1 nodi
immessi nell’àlbero c.v.d, A puro titolo
in forma rivo dirò che questo tipo di ‘vés-
ta" ad un albero binario, viene chiamata
di ripa INORDER (SINISTRA -
RADICE- DESTRA), clw ri contrappone
ad altri 2 tipi di virila detti rispettivamen-
te PREORDER (RADICE - SINISTRA -
DESTRA), c POSTORDER (SINISTRA
- DESTRA RADICE).
La cancellazione
di nodi dell'albero
odiamo ora all 'ottima delle routine
che costituiscono il package presentato
sulla teoria degli alberi. E” questa chiara-
mente la procedura di cancellazione dei
nodi. A prescindere dal linguaggio in cui
si opera, questo problema risulta essere 11
piu pepato. Per rendere l'idea ri pensi
alTalbero di fìg- 3 e pensate di dover
togliere il dato PAOLO; come pensate
che risulti FaJbero dopo tale ‘potatura’?
Tenete presente che l'ordine intrinseco
non deve venir mutato. Per fortuna anche
questo problema lo ha risolto il sjg. Wirth
una volta per tutte.
ominciamo con Fanatizzare la casi-
stica:
- si deve cancellare una foglia;
- si deve cancellare un nodo con un solo
sottrai riero;
- si deve cancellare un nodo con due
sot Ioalbe ri .
]^J d primo caso la soluzione e banale: ri
recìde il link nel nodo padre (righe 4 SO-
i
FIGURA 6
L. jlhtro tìupu 1* Cjn«l3a/ion*
40 - Computer Club
4étì| ed essendo mw il dato irreperibile,
risulterà cancellalo (fig. 5-a}* Esempio;
per can celia re FEDERICI basta porre ìì
punì alm e sinistro dì (IIUIMNA uguale
a NTL,
J^Lnche nel secondo caso le cose non
Mino troppo difficili poiché basta aggior-
nare il puntatore del "padre 1 perche punti
al proprio Tiglio’ \ nuovamente righe 4$lb
4A0i. Esempio: si debba cancellare RO-
SANNA. allora basterà porre il puntato-
re destro di PAOLO uguale al puntatore
sinistro di ROSANNA e cosi risulterà che
PAOLO avra come figlio destro RFN7 A
Ifig. 5-t>), Anche in questo caso il nodo
ROSANNA non scomparirà effettiva-
mente dalla memoria centrale, ma risul-
terà irreperibile nell ambito dell 1 al beco.
omo già accennalo, ì problemi insor-
gono nei lerm caso, quando cioè il nodo
da lunediare ha doppia prole’.- stì fi-
gli!! I tini» n/i tulio bisogna, cttme anche
nei casi precedenti, trovare il nodo d»
cancellare brighe 390-400b Entrano in
g«KO a questo punto altri due puntatori*
ausiliari Q** a Q l r £* L a situatone e dun-
que questa: P^t punta al nodo da cancel-
lare, mentre (^6 e Ql% vengono latti
'scendere' sfalsati di uno, (riga 480s al
nodo piu a destra nel sottoalbero di sini-
stra di quello da cancellare, A \ VI if IH!!
che C OMA! I n attimo di pausa, andate a
prendere un caffè e poi continuiamo stoi-
camente. Per fissare le idee supponiamo
di dover cancellare PAOLO. A lui punta
P%. poi facciamo scendere Q*£ e Ql*>L in
modo che il primo vada a puntare a Li T-
GI e l’alt GIULIANA LUIGI è infatti
il nodo più a destra del sottoalhero sini-
stro partendo ila PAOLO. Chiaro ora?
ere he, comunque, tutto queste com-
plicazioni? .Semplice* il nodo cosi trovato
e quello che immediatamente precede il
dato da cancellare nell'ordine {numerici!
o alfabetico) con il quale i dati sono stati
immessi. Si svolge a questo punto il tra-
sferimento del dato contenuto nel nodo
puntalo da QSf a quello puntato da P*v
(riga 490) Iflg. 5-c). Il vecchio nodo che
conteneva LUIGI, rientrando in uno dei
casi precedenti, può essere facilmente
cancellato* Dopo questa "potatura’, il no-
>rtm albero sarà quello che compare in
figura 6. Resta a questo punto un'ultimo
argomento dii affrontare che riguarda
strettamente quesiti programma: Lutili/’
zo della memorili.
1/ utilizzazione delia memoria
urne ho già spiegalo siamo siati co-
stretti ad utilizzare un ir ridi mension abile
arra) per contenere i nastri dati, il che e
una non lieve minaccia alla flessihilita
dell 1 algoritmo. -Se aggi ungiamo poi come
funziona la roiitiiie di canee barione, ve-
diamo che nel giro di poco tempo si arri-
i crebbi- al completamento dello spazio
disponìbile, avendo, ai limile piK L hi dati
immessi*
H o quindi voluto aggiungere un pìcco-
lo ‘trucco’ che mi permetti» ili utilizzare
anche quei nodi che, pur non cancellati
fisicamente, sono stati recisi dall'albero
Ciò che ho falbi è, se vogliamo, l'uovo di
coloni Imi, polche tengo conto in lina hsiu,
LS^fMAK^J, dei midi cancellali i righe
§10-530). Grazie ad un coniatore di nodi
presenti in quest» iìvta. ai moifwn-
tu deU immissione di un nuovo dato, pos-
so sapere se esiste dello spazio riutilizza-
bile; In tal caso CT r fr, che mi dice dose
memorizzare i* nuovo dato, vara caricato
cimi questo indirizzo di memoria disponi-
bile. In caso contrario, quando cioè non e
ancora stato cancellato nessun nodo,
CT^r viene caricalo con un valore, pre-
sente in C%, che fornisce semplicemente
L indirizzo della '‘successiva" casella di-
sponibile deirarray A (riga )* Vedia-
mo ora la parte piu pratica e quindi piu
interessante: come - personalizzarti li
programma.
La personali zza/ io ne
del programma
ome avrete potuto constatare* ciò
che fa il programma che presento e di una
stupidita agghiaccia file. Mio unico scopo
era infatti di presentare le routine* ^ge-
nerali" per il trattamento degli alberi bi-
nari in Basic. L ’un portante, ora che si e
capito il "nocciolo” della questione, e dì
poter utilizzare secondo le proprie neces-
sita questi algoritmi, bui ami Multo biso-
gna stabilire quanti dementi al massimo
si vogliono memorizzare, c caricare tale
cifra in MA alla riga 20, Avendo beo
chiaro che tipi eli dati memorizzare, ade-
guate il dimensiona mento dèll'uiray AS,
F" chiaro che cambiando la dichiarazione
dì \% bisogna adeguare in lutto il resto del
programma le diciture che interessano
tale variabile.
Prima di richiamare Ciascuna delle
routine, fare eseguire le istruzioni caute-
li ute alla riga 70. Nella routine INGRES-
SO, alla riga 250, immettere tutti i dati
relativi ai campi costituenti il nodo A Ud-
ire a X utilizzare altre variabili di appog-
gio], e mantenere le due ultime istruzioni
presemi. Esempli»,
250 A$(CT%,0j - \5 : ASfl’TOJI
\1$: < et v >:
PTW’T^.Oi = WJ& : PTMCTJi
N1L%
N[ulla routine CERCA, far eseguire
l'operazione voluta sul nodo cercato, alla
riga 3511. Nella routine INORI >LK, far
eseguire l'operazione voluta sui midi
estratti, alla riga 590, Nella procedura
ca ned lozione, trasferire mite le ìnfarma-
zìo ni contenute od nodo puntato da Q^f a
quell» puntato da I* f , alla riga 4W.
Esemplo:
491) AStP^.Ui \S(QG%0l : A$iPG. 1 1
Ali Q r E* I) : ~ < ctv
questo punto v tiene ribadire un
concetto, per altro giu accennato: nel caso
di dati composti da piu -campi» (esem-
pio: cognome, nome, indirizzo, età), l'or-
dinamento, la ricerca eie,, può essere fat-
ui volo relativa meni e ad LN SO! 1 O LAM-
PO. Nel cavo precedente per esempio,
posso scegliere di creare l'albero ordinato
per cognome. Il campo-chiave può essere
qualsiasi* ma generalmente si usa il prL
mo. Avendo il pnignumna utilizzato un
solo campo che è per forza anche campo
chiave, ogni qual volta che nel listato si
Computar Ciub - 4 t
incontra Jj vario bile quello t il posto
per utilizzare il vostro campo chiave, Per
intenderci, se in un'HtruDonc trovate
A$Cf*3fe) e avete p*u campi di cui i( primo
"chiave 1 ', dovrete sostituire h dicitura iti
A$<Pft,Oj. I e righe 60-1411* sono quello
che in gergo é chiamalo il "main pro
gram'L che contiene rioe tolte k 1 «chia-
mate* alle varie procedure. F' logico che
questo deve essere fatto mi misura per i
vostri scopi; non ha come si pnn unta-
re, nessuna influenza sulle mutine* pre-
seli Ulte,
Siamo infine giunti alla firn- di questa
faticaccia ed è buffo notare che per -spic-
care idi allveri od un calcolatore onero
ammasso di circuitene elettro-
meccaniche! hastano poche dev ine rii suc-
cinte in E m rioni, mentre per eli uomini
1 iniettivi enmsimo padrone e dominatore
del Mondo t sono occorse parecchie pagi-
ne e ore di duro lavoro. Meditata gerite,
meditate*
Paolo t a priori in
K i irsi' Frarccì ZE4
[n ]4ri Torniti - fcl
Lso del programma
comando T viene chiesta la chiave e il visitalo e tutti i dati v>m> est ratti in ordine i
dato viene inserito nell ’ albero, Vengono ulfaitcficn*
Riporto qui il listalo di un esempio di
■juiiidi immilli fi dati in un ordine del Digitando poi R si pu«.
ricercare non
ni ili/ nazione del
programma. Tramite il
tutto casuale. Tramite ‘ ’S r albero viene data chiave.
C CIMAMI} —
1 1
D 1 MM 1 UN
NOME
RADI 0
CPMfiND — > **D
COMAND — ?
‘ HM
Li 1 MM 1 [ A LU l ) A Ut Gl UL ] AMA
D ! M1 1 ] UN
NC'Mt
DILIL IANA
COMAND — .■ **R
COMAND —
* % ]
rM I AVE GIULIANA
DIMM] ur i
NUME
FLLiLRTEA
CHI AVE INE SI STENTE
COMAND — -
(
* * 1
CW1ANH- - • Mi
DI firn UN
NOME
ROSAI IMA
DIMMI UN nume gii IL ì ama
COmand -.
i * ì
COMAND —
1j ] MM 1 Ufi
NUME
F-Mi; -
OH l AVE G I UL. I AMA
t omun- -
* * I
2 G J LH 1 AMA - J
- 1
DI Min Uf J
Mi <1 IL
1 L 1 1 ti J
Li Hi AND- - ^ M S
I l II t( tlli> - .
1 L CULT- ) r.iì
* * 0
F E DE.. R I E A
G I UL ] AMA
G1U1 1 AMA
l nj gì
LUI 6 l
PAOLO
I TU il.U
RI NZA
UH NZA
ROSANNA
F-'U! ‘ì jNNA
COMAND — > t* + I
L DM AND — y
1 1 R
DIMMI UN NOME GIULIANA
C.'HI AVE 61 LILIANA
IL NODO ESISTE Gì AD
1 GIULIANA
e-\
A.
5 COMAND- — > ** .
1
42 - Computer Ctub
1 REM ALBERI BINARI
S REM PER TUTTI [ COMMODORE CON ALMENO 3£K DI MEMORIA
3 REM DI CAPRI OBLIO PAOLO
4 REM CORSO FRANCIA 22 4
5 REM 10146 TORINO T. 0 11/792023
7 REM REVISIONE Di MARIANI GIANCARLO
3 REM TEL * 0362/72565
9 PDKE33280 , ì SPGKE5328I , 1 iR£M SOLO PER C64
10 PR INT rt 3” 1GPEN1 r 0
15 REM *#+ IMITI AL I Z E ***
20 MAXX= 1 00 ! NI LX = * 1 : FX = * 1
30 RTX=NlLX: CX=0^ LCX=FX
50 DINAS* MhXX> ,L5/.( fiftXX) ,PT>X MAXX, I ) ,PRX< MA XX, I )
5 1 *
60 PR INT^ftJ"
70 px-rtx:stx*=fx
60 PRINT^IPOMAMD-- > : IMPUTAI , X$ s PR I NT s REM MARIANI G -
85 PRT NT " jy □" S REM 19 SPA/ I
90 IFX* = + J T HEMGOSUB 1 50 : GOTO 70
100 IFX*= "**R M THE NGO SUB 3 00 :GOTG70
ì IO IFXS- "**p IP THENGOSUB3G0 :GOTO70
120 IFXM* "**S * TH£MfiOSUB540 ; GOTO 70
130 tFX**"**. “THElsCiLOSEl T END
140 P R I NT " ERRORE NEL CDMANDOST : GOTO70
14 1 :
) 4 £ !
150 REM ++# IMMISSIONE ***
151 :
use ifcx>mahxandlcx=fxthenprint w w^emory FULLM* IRETURN
170 PR 1 NT M D I MM I UN NQI€ “ J i I NPUTft ì , s PR INT
180 IPLCX>FXTNENCTX*LSX< LC%> i GOTO200
130 CTX*CX
200 I FF%-N1LXTHEN250
210 NXX-PX: STX=F%
220 IPX^R^ PX)THENSTX«0!PX*PT3« PX,0) SGDTQ200
230 IFMS>A&< PX?THEN5T%*I : P/.-PTXC P%, 1 ) s GOTO200
240 PR I NT " HI L NODO ESISTE G 1 A 1 " f RETURN
Computer Club - 43
£50 CT y t > = K$: PT^t CT>;,0) ~N1LX: PTXC CTX, 1 )“NIL X
- £ SO I F R TX-N I LXTHE NR TX= C TX : 60 T0£ 8 0
£^0 PTCCNKX,ST%)*CTX
280 IFLCX>FXTH£NLCX=LCX+FX! RETURN
£30 CX*DX+ 1 : RETURN
£ 8 ! :
£88 S
300 REM *** CERCA * **
30 1 :
310 PR ! NT +l CHI I A VE " ; ‘ IMPUTAI , X* SPRINT
BEO IFPX*=NILXTHEI^R INT"SCH I AVE INCSIS TENTE “ : RETURN
330 IFX*< A*C PX>THEf* 3 X=PTX< PX,0 3 s GOTO3E0
340 iFX:S>ASC PX;>THENPX=FTX£ PX, 1 ? =GOTO3E0
350 PP INT-MTPX; - "? A*C PX) ,PTXC PX„0>,PTX< PX, I ) : RETURN
351 ;
35E i
363 REM *## CANCELLAZ IONE ***
36 I :
370 FRI NT* Dirgli LA CHIAVE * ; ; ] NRU Ttt I , Xf : PR I NT
380 1 FPX = N I LXTHEInFR I NT * flC'H 1 AVE INVESTENTE 11 : RETURN
330 ]FX*< A£C P>;JTHENSTX=0:HK>: = PX: PX=P TX< = G0TG380
400 IFXS>A*C PX ) THENS TX = Jl : MXX*PX : PX»PTXC PX, I > JGOTO380
4 10 1FSTX< >FXTHEN450
420 OX = P X ! IFPTXC FX,0>=N1LXTHENPX=PTXC FX / 1 > : G0T05 J0
430 IFPTXC PX, i >*NILXTHENPX*FT>X PX,0> =60X0510
440 8OTO470
450 IFPTXC PX,0> -NI LXTHE NP T X< NKX,STX) =P fX< PX, 1 > : QX=PX: GDT05 I 0
460 IFPTXC FX f n*NILXTHENPTX< NXX , 5TX ) =PTX< PX , 0 > ' QX=PX i G0T05 ! 0
478 QX-PTXC FX,0 > :Q IX=PX:5TX=0
430 IFPT>X QX f \ X WILXTHENQ IX*QX : QX*PTX< QX, I ) i STX= 1 : GOTO480
430 A*< PX)=AS< QX>
500 P TXC Q 1 X , S TX ) = P TXC Q X , 0 )
510 REM -- DISPOSE STORAGE --
5£0 IFSTX=FXTHENRTX=PX
530 LCX-LCX+I : LSX< LCX>^QX: RETURN
53 1 :
53S :
540 REM *** I MORDER ***
54 1 :
550 FOR 1 *0TQMAXXJ PRXC I , 1 > =02NEXT
560 CPX=FX
530 IFPTXC PX, 0 X >NILXANOPRX< PX, 1 > =0THENGGSUB650 * GGTO5B0
580 PRINTA*CPX>
600 IFPTXC PX, 1 X >NILXTHENCPX=CPX+ 1 iRRXC CPX , 0 7 =PX * PX=PTX< PX, 1 ) : GOTO580
610 I FCPX-FXTHENRE TURN
820 PX=PRXCCFX,0>* CPX=CPX”I
630 IFFRXC PX, 1 3 0 RP TXC PX , 0 > ”N I LXTHE M6 1 0
640 PRXC PX# I > - 1 * GDTO5B0
650 CPX=CPX+I 2 PRXC CPX/0 >=PXJ PX-PTXC PX,0 3 i RE TURN
READY *
44 - Computer Club
Commodore 64
Iper Monitor
per Linguaggio Macchina
Si ui numeri 5 e 6 dì Commodore Com-
*
puter Club (settembre e ottobre 1983)
pubblicavamo un programma siimi latore
dH Monitor Tìm, vale a dire un program-
ma di utilità che, ispirandosi ai modelli
PET Commodore, consentiva di Lavorare
agevolmente in linguaggio macchina. Al
termine delTartkolo che illustrava l'uso
del programma invitavamo i Jet lori a far
qualcosa di meglio c u farcelo pervenire.
Dopo quasi un anno dalla pubblicazione
abbiamo visto, sull'allegato dì una rivista
di settore, un articolo che ci faceva ben
sperare. Saremmo stali lieti di utilizzarlo
e (perchè no? | di consigliarlo ai nastri
stessi lettori, Ihirtnippo dopo un esame
approfondito abbiamo constatato che
non era altro che una copia più u meno
confórme dei nostro programma, fatta
eccezione di un paio di aggiunte che
chiunque avrebbe potuto realizzare con
un semplice comando di Append.
D elusi per la modestia del lavoro esa-
minato e decisi ormai a regalare ai nostri
lettori un monitor potente per Lavorare in
linguaggio macchina, ecco che presentia-
mo un buon lavoro che, per chi lo cono-
sce, simula in pure basic, il potentissimo
programma dì utility denominato
ZOOM, Pubblichiamo, ovviamente, solo
il listato e U modo di utilizzare il program-
ma, evitando lunghe, e, forse, noiose
spiegazioni su come è strutturato, Si ten-
ga presente che d'ora in poi, parlando in
futuro dì linguaggio macchina, faremo
riferimento all'Output del listato pubbli-
cato, Per ragioni di tempo, e per La lun-
ghezza stessa del programma, viene for-
nita solo la versione per il Commodore
64. E f ovvio che ( nonostante il program-
ma sin stato severamente collaudato i sug-
gerimenti e segnalazioni di eventuali ano-
malie saranno graditissime, come pure
versioni piu sofisticate di quella
pubblicata,
SI
hJ e la rivista nominata vorrà, anche sta-
volta, -ispirarsi - ai nastri listati, ne sare-
mo bei issimi. Pero, diamine!, mctleceia
tutta. Programmare non e difficile: Lo di-
mostra la giovanissima età dell 'autore del
listalo f 16 anni) che in soli due giorni di
lavorìi ha realizzato ciò che vedete.
I comandi dell* Iper Monitor
• Primo comando: “M". Esempio:
VI UHM 0900
usuai izza la zona di memoria indicata
in esadecimale. Come separatore Ira t
due indirizzi si può usare il caratteri.- spa-
zio oppure il segno meno (*)• Per fermare;
tempo rancamente la vemalizzaziorie pre-
mere il tasto Shifl fShift - Jock se per
lungo tempo). Per fermarla definitiva-
mente basta un fasto qualsiasi.
• Secondo comando: à '‘". Esempio;
f 633 À A9 00 8D(W<M6(I
C orwnte di scrivere nella memoria i
valori esadecìniali digitati. In questo caso
a partire da 033 A inserirà l'uno dopo
l'ultru A9, 00 ect. Dopo aver digitato co-
me descritto è sufficiente premere il tasto
Return per la conferma (come nei veri
mònitor). Subito 0 programma scriverà
L'indirizzo successivo e si predisporrà per
un« seconda scrittura. Se non si desidera
scrivere altre, battete un puntino Li e il
tasto Return.
* ferzo comando; **1**, Esempio.
I 033À GJ4E
usuali zza il contenuto della zona di
memoria indicata espresso non come ci-
fra em deci mah* ma come carattere
ASCII. Se un particolare valore non e
contemplato nel codice ASCII, viene vi-
sualizzato, al suo posto, un puntino, At-
tenzione, quindi, ad interpretare corret-
tamente ciò che appare. In questi casi e
meglio esaminare La stessa zona con il
comando *'M'\ Per la separazione di in-
dirizzi. rallentamento e interruzione vedi
il comando M.
• Quarto colmando; ‘ijS " (chi-oc cidi ina).
Esempio;
@ 033A CARATTERI ASCII
onsenle di irasferir* in memoria, a
partire dall'indirizzo esadecimaJe digita-
lo, opportuna tinnente tradotti, L valori
corrispondenti alle lettere C, À, R, ecce-
tera. Si badi bene di digitare: chioccioli-
na, spazio, l'indirizzo, uno spazio, l'apo-
strofo ed In seguilo i caratteri desiderati.
Anche in questi} caso alla fine dei c&rstte-
ri digitati (ma a -16) battere return. Ver-
ranno trascritti sok> i caratteri digitati
effetti v amen le. Se ad esempio si digita:
@ USA ‘PAROLA
a partire da (133 A verranno trascritti, op-
purtiuintamente tradotti, i sci caratteri
che costituiscono la parola digitata; gli
altri resteranno immutati.
Dopo aver operato, U programma vi-
sualizzerà l'indirizzo successivo all 'ulti -
Computer Clvò - 45
ofif
mt» utilizzato e attenderà che si digitino
altri caratteri. Per finire è necessario di-
filare il carattere “f” rpi-greco).
• (Quinto comando:
V
T isuali/za il contenuta dei vari regi-
stri;
Ac f&ccumuhtareh XR < registro \k VR
I registm V), SP LStaek Poi n tur).
• Sesto comando Esempio;
> A V C0 EE À5
C
\s un sente rii mndìricare il contenuto
dei registri.
• Settimo comando: Esempio;
F 033A 033 F 00
R i produce in tutte le locazioni dì me-
moria, a partire dai primo fino a) secondo
indirizzo* il valore CIO.
• Ottavo comando: “C’’< Esempio;
C «33 A 03EF04OO
on fronte i contenuti delle locazioni di
memoria a partire da 033A fimi a (LIFT
con j corrispondenti byte allocati a parti-
re Ha MIO. Nel caso i due blocchi siano
eguali non viene visualizzato nulla. Se in-
vece vi soli» discordali /e appaiono i valori
esa ricci mali degli indirizzi i n cui c stata
risei mi rata la differenza. Per interrom-
pere la visualizzazione premere un tasto
guai siasi.
4 Nono comando: * 4 T'\ Esempio:
T 0334 033 B 033 A
TT riferisce i contenuti delie locazioni,
da 0334 fino ti 033B, a partire da 033 A.
Attenzione a questo, come ad altri co-
mandi. a non invadere Purea in cui lavora
il programma stesso!
• Decimo comando: **H’\ Esempio:
K 0400 0800 SS
R ice rea all'interno dell'area 0400-
0000, il byte che contiene il valore esade-
cimale 55 e ne visualizza Pi ndi ri zzo. Un
tasto qualsiasi, come aJ solito, interrompe
la ricerca,
• l ridicevi non comando: “G". Esempio:
G 033A
r
L a eseguire la routine in linguaggio
macchina a partire da 03 3 A i equivale a
SYS). Se questa routine termina con 60
(KTSt viene restituito il cimi rollo al
programma.
4 Dodicesimo comando; Esempio:
S56FE
T radure il numero esadeclmale nel
corrispondente decimale. Il numero deve
essere sempre di quattro cifre; pertanto
imi ri digitare A0. ma 00 All.
4 T redicesimo comando; Esempio:
r 12765
Inverso di “S'\ il valore deve essere
sempre di cinque cifre: non IME ma
OOI60.
4 Quattordicesimo coniando: "P"
nttiva la stampante. Da questo mo-
mento la visualizzazione verrà trasferita
alla stampante e non piu al video.
4 Quindicesimo comando: **G”
D Lsattiva la stampante e abilita nuova-
mente il video.
3# Sedicesimo cimando: i- X”
R est Unisce U coni rollo al Basic inter-
rompendo il programma.
• Die iassé! tesimi» dimando, l *L".
Esempio:
t NOME 4 08
urica un programma da nastro <1)1 j o
disco iOHj a partire dalla locazione in cui
era al momento della registrazione. Se
viene riscontrato un errore appare II mes-
saggio ERRUR.
4 Diciottesimo comando: “S ". Esemplo:
5 * ROUTINE * m 033A 03FB
Registra col nome ROl FINE su disco
l OS 1 LI programma in linguaggio màcchi-
na allocato da 033A fino a 03 KB.
4 Diciannovesimo comando: “V*"
critica fi programma registrato.
4 Ventesimo comando: "
c
onsente di conoscere Pinti I rizzo Hi
partenza di un prirgrumma registrato su
nastro.
4 Comandi per il disco. Sono tutti prece-
duti dal carattere ”,
\ iiuaiizza La directory del disto,
^SO/NOMEXX
Formatta il disco conferendogli il nome
NOME e ridenti fi cali ire XX.
^10
Iniziali zza il disco,
I fi altre parole i comandi per il disco si
possono usare con la forma appena vista
sostituendo agli apici C') Li barra l/l, t
alle v irgole (J il punto ( . I , Il solo carattere
di freccia a sinistra visualizza lo stato del
disco.
- *NOME.
Consente di conoscere l'indirizzo di par*
lenza del programma residente su disco
chiamato NOME.
4 I (timo comando; RI N
Consente, se avete combinato qualche pa-
sticcio* di far ripartire il programma,
46 Computer Cfuù
D opti aver digitato con pazienza il prò-
grammi registratelo prima di utilizzarlo.
In seguito iniziate a verificare La funzk>
nulita det comandi utilizzando solo PEEK
come tl M'\ u r\ “C 11 eccetera. D pro-
gramma B&sk occupa circa 8 KRAM; la
sua esatta occupazione la potete indivi-
duare da soli.
I per Monitor consente addirittura di al-
te rare il vettore relativo alf intemipt da-
— Avvertenze ■ — —
to che. prima di trascrivere i dati digitati,
esegue una routine in linguaggio macchi-
na che maschera L’inlerrupt- Il program-
ma utilizza inoltre tutti t byte da &80 a IH
ed i byte 151 e 152. Attenzione n non
alterarli nei vostri programmi. Il pro-
gramma utilizza, in alcuni casi. LI buffer
delia tastiera .
un crediamo di aver dimenticalo nul-
la salvo a fatto che. benché sia superfluo.
vi consigliamo di non alterare LI contentilo
riservato al programma Baste che è allo-
cato da IWWO fino a». No. non vogliamo
dirselo? scopritelo con l’l|»r Monitor in
uno dei vostri viaggi nei meandri della
memoria.
Giancarlo Mariani (da un suggerimento
Ut V de Simonel
100 REM ***** 1 PER MONITOR PER COMMODORE 64 *****
110 REM ***** DI 6 I RINCARALO MARIANI *****
120 REM ***** VIALE BRIANZA 7 £ £0038 MEDA C MI 3 *****
130 REM ***** TEL. B3SE/7ES65 *****
131 J
J3£ i
1 40 POK.E33280 , t : PGKE5388 1 r 1 i BOTOES70
14 t REM NON RENUMERARE LA LINEA 150
!4£ REM PER NESSUN MOTIVO < CFR . LINEA £870 1
150 PGKE 198,0
160 PR I NT M J3 11 ‘ P0KE56 ,401 PPKESa , 40 ! CLR i OPEN 1 ,0
170 PR I NT “MONITOR 64*
130 PR I NT M B Y G, MARIANI TEL . 0358/7258511*
190 L=- ì ! GOSUB1430
200 C$3 " " i INPUTH 1 *0$: FRINII A3=3
£ 10 [FC$* m RUN h THENRUN
22B A$-LEFT$' C$, L ) JL-LEfK C$) -£
330 I Fftl? -F "THENGOSUB450 JGOTOE00
£40 IFAS* " X “ THENCLDSE 1 • CLR s END
250 IFR$= * THENGO5UB530 = GOTO£00
£60 I F A$ ~ "# “ THENGOSUB580t GGTG£00
£70 LFA$= , 'G-THENGOSUB640;GOTO£00
£80 IFA$- “C H THENGOSU8680 S GOTOE00
£30 I FA* - 11 M “ THENGOSUB8 £0 : GOTQ200
300 I F A $ » M P M AND L ~ - 1 THENP= 1 : GOTGE00
3 1© I F A $ = “ Q M ANOL s - 1 THENP'0 : GOTDS00
320 t^A$s** 1 " THENGOSU© ì 000 * GOTOE00
330 IFA$ = " T “THENGOSUB 1 £00 : GQTO200
340 TFAS = fl t “THENGOSUB 1300 IGOT0£00
350 IFAS^^R -THENGOSUB 1430 16OTOB00
360 I F A $ = " > ,f THENGOSUB 1 430 * 6OTOE00
370 IFA$= "£ “THENGOSUB 1550 :GQTO£00
380 I F A#= “ * “THENGOSUB 1 690 i GGTOE00
,330 IFA$= " «- " THENGOSUB 1770 i GOTOE00
400 [FA$= *H K, THENGOSUB8£40:GOTO£00
4 10 IFfìf - W L "0RflS= * V * THENGOSUBS390 * GOTOE00
4SB IFA$= "S' r THENGQSUB£610;GOTD£00
Computer Club 47
3 «O
430 IFC$< > " *' THENGQSUB2880
440 GOTOE00
430 REM ********** F (RIEMPIE) **********
480 I F L< > 1 2THENGQ5UB2880 : RETURN
470 IFX$< > 11 M ANDX$< >"- 11 THENGO5UB2B80 J RETURN
4©0 ES$ = *00* +R rGHT$< C$,2 > s GOSUB2950 i A3 =X : 1 F V c ì THENV =0 i R E TURN
490 E5$=MI0$( Cf ,8,4) ? 6OSUB2350 !fìS*Ki !FV = I THE NV =0 : RETURN
500 ES$^M JD$( C$ ,3,4 ) : G0SU62950T A 1 =X i IFV- 1 THEMV =©! RETURN
5J0 IFA ì >A2THENGOSUB2880 JRETURN
520 FQRK=FU TORE! POKEK ,A3 ^ NEXTs RETURN
530 REM ********** ESAD/DEC **********
340 V-0SCS*RIGHTS( C$,4)
530 IFLC >4THENGOSUB2880ì RETURN
580 ES$-C*:GOSU82950s IFV = 1 THE NV=0 ? RETURN
570 FRI NT “ K “ ; X i RETURN
580 REM ********** DEC./E5AD **********
590 1FL< -0THENG0SUB2B80: RETURN
G00 C$*RIGHT$< C$,L >
810 X-VR L< C$) ? IFX >65535THENGQSUB28S0 sRETURN
620 GOSU62900
630 PR I NT ■ $ *; ESSERE TURN
640 REM ********** G (VAI) **********
850 1 FL< >4THENGOSUB2880 : RE TURN
660 ES$=RIGHT$( C$ , 4 ) s GOSUB2950 s 1 F V = 1 THENV-0 * RE TURN
B70 5YSX5 RETURN
680 REM ********** C (CONFRONTA) **********
890 POKE 198,0
700 I FL< > 14THENGOSUB2S80 i RETURN
7 10 C$=RIGHT$C C*,U
720 A$ = M1D$C C$,5 , 1 ) 5 IFA$< > N ”ANOA*< >*- a THENGO5UB2880 : RETURN
730 A$ = MI0$( C$, 10,1): IFA*< > " ,f ANOA$< > * - “ THENGOSUB2830 : RETURN
740 ES$=LEFT$( C$,4 > i GQSUB2S50 1 A l IFV = I THENV = 0 * RE TURN
750 ES$=MID$< C$,6,4)! GOSUB2850 s A2 =X S IFV- I THENV =0 : RETURN
760 ES$~R IGHT$< C$ ,4) ! GU8U02950 ? A3 =X : 3 F V - 1 THENV = 0 * RETURN
770 IFAI >ft2THENGOSUB2880 : RETURN
780 FORKK-0TOC AE-RI >-i
790 IFP£EK( A 1 +KK K >PEEKC A3 +KK ) THENX ^ I *KK i GOSUB2900 ? PR INTESA “ *
800 IFPEEKC 197 X >64 THEWOKE 198 ,0 i FRI NT s RETURN
810 NEXTEPR INT! RETURN
820 REM ********** M (VISUALIZZA i N HEX ) **********
830 IFF= 1THENGPEN4 ,4 = CI® 4
B40 IFL( >9THENGDSUB2S80* RETURN
850 C$ = RIGHT$( C$,9)
880 R8»MIDSC C$,5, 1 ) ! IFA$< > * *AN3A$< > M - ■ THENGOSUB3S80 ! RETURN
870 E9$=LEFT$t C$,4 ) s GQ5UB2950 : A 1 =X t 1 FV * l THENV = 0 : RETURN
830 ES$=R IGHT$( C$,4) s GOSUB2950 s A2 =K t I FV = l THENV =0 = RETURN
390 ! FA 1 >A2THENGOSUB2880: RETURN
900 PRINT
310 FGRKK =A 1 T0R2S TEPO
920 X-KK i GOSUB2900
930 FRI NT * T ,, /ES$; * " J : FQRKX=KKTOKK +7 s X*PEEK( KX > t A9= 1 : GOSUB2900
940 PRINTES*;* ” J i NE X TKX t PR I NT
48 ’ Computer Club
»!
350 I FPEEKC 653 ^ 0THEN950
960 I F F E E K ( 137 K >64THEN380
970 NEXTKK
900 PR 1 NT J 1 FP = ÌTHENPR INT«4 i CL0SE4
990 PO K E 1 98 , 0 i RE TU RN
1000 REM ********** 1 < VISUALIZZA IN ASCII? **********
1010 1FPMTHENOFEN4 r A :CM04
1 0E 0 I FL< >STHENGOSU8ES80( RETURN
1030 C*=R IGHTSK C*,3 >
104 0 A* = MI DSX C$, 5/ 1 > i IFAS< > " "ANDA*< > " - " THENGOSUBB880 £ RETURN
1050 £S£*LEFT*< C$,4 > : GGSUB3950 : A 1 =X : 1 FV= 1 THENV =0 = RETURN
1 060 E - R H3HT$< : GOSUB3950 s A£ -X £ 1FV = 1 THENV =0 5 RETURN
1070 I F A 1 >A£THENeGSUB£S80 s RETURN
10S0 FRI NT
1030 FORKK«A1TOA£STEP26
I10O X =KK s GOSUD2900
1110 FRI NT " ; ES$ 11 1 ,J ; i F0RKX^KKT0KK+£5 :X = FEEK< KX>
1 1H0 X$= <f , H £ 1 FX > =3£AN0X< =■ 1 E ? THE NX $ ^CHR X)
t 130 IFX> = 1G0THENX$=CHR$-; X }
1140 P R ! NTX* ; : NEXTKX SPRINT
1 150 IFPEEKC 653 >< >0THEN 1 150
I 160 IFPEEKs 1 37 X >64THEN1 180
1170 NEXTKK
1 100 PR 1 NT 3 I FP * J THENPR I NTW4 : CLGSE 4
1190 POKE 198 ,0: RETURN
1 £00 REM ********** T < TRASFERISCE) **********
1 £ I 0 IFL< >14THEN6OSUB£S30 1 RETURN
1 2 £0 CS*RIGHT*1 C*, 14>
LE 30 fl$*MID*<C*/5iI)ì IFAS< > " M ANDA$< > THENGOSUBB8S0 i RETURN
1 £40 fì5^MIG$(C$/10/l)i IFASO" " ANPrtiC y* THEN6QSUB89S0 : RETURN
1B50 ES$ = LEFT$C C.m,4 > ; GOSUBP950 ~ A 1 =X : IFV= 1 THENV =0 ì RETURN
IE60 ESSAMI D*( C$,6,4) : GOSUSE950 5 A£ =X : IFV" 1 THENV = 0 ' RETURN
i £70 E5*-R J G H T $< Ci. 4 > ; GOSUE8950: A3 = K s 1FV= 1 THE NV = 0 : RE TUR N
1330 IFA1 >fì£THENGOBUB£830* RETURN
1 £30 FQRK^ETPk rlB-A 1 >-) ; F0KEA3+K r PEEK < A 1 +K ) : NEXT; RETURN
1300 REM ********** t < SCRIVE IN HEX > **********
13 10 GOTO 1 340
1330 C£- n “ £ INPUT** 1 r C$-'PR INT:L-LENt C$? -£
1330 IFLEFT$(C$/1>< > w t * THENCS = * t " +E5$+ " 11 +C$iL = L + 7
1340 1FM1D*( C$ / 8 # 1 >® * . * THENRETURN
1 350 I FLC GQRL >28THENGOSUB£880 : RE TURN
1 360 ES$=MID$< CS f 3 ,4 > : GOSLI83950 : A 1 =X : IFV” 1 THENV = Bs RETURN
1370 C* = RIGHT$< C$,LEfSK CS1-73 + * " :L=LEN;C$>
1380 A£^0 : F0KE5S334 f 0 : FORK a ì T0LSTEP3
1330 ES«=MID« C$,K ,£ > : A 3= t £ GOSUB3350
1400 IFV- 1 THÉNV-0 £ P0KE56334 , 1 * RETURN
14 10 PDKEA 1 +A£,X £ A£~A3 + I £ NEXT : POKE 56334 , 1 : A 1 = A 1 +A£
1430 X = A 1 i GOSUB3900 £ PR I NT N t " ; E S*“ "OGOTO13S0
1430 REM ********** R «VISUALIZZA REGISTRO **********
1 440 IFL > = 0 THE NGO SUB£ 8 S0 * RETURN
1 450 PR I NT u AC XR YR SP M i PR I NT " > * ;
1460 FORK*780TO783
Comi ut&rCfutì -49
1470 X-PEEKC K > : A9 = I i GOSUB2900 : PR INTESA” ,k ■ : NEXT
1480 FRI NT: RETURN
1^90 REM ********** > (MODIFICA REGISTRI) **********
1500 IFL< >1 1 THEN0OSUBS8S0 : RETURN
15 10 C$*R IGHT3K CS, 11) + " ' "
1520 A2=0 ~ FORK tì 1TOI2STEP3 ' ES$= H 00*' +MID3K C-f ,K ,£ >
1530 GOSU62950: IFV- 1 THENV -0 : RETURN
1540 POKE7 S0+A2,X: A2=A2+ 1 : NEXT: RETURN
1550 REM ********** £ CSCRIVE IN ASCII) **********
1560 GOTO 1530
1570 C*- * ,f MNFUTtti ,C$ : PR iNT
1580 IFLEFT$C C$,2)< > "£ “ THENCS* ■ (5 “+ESS+* * “ +C$
1590 L*LEN<C$): I FLC 3THENGOSUB2880 : RETURN
1600 ESS-M I DSC C$,3,4 > : GOSUB2950 : A 1 =X : IFV= 1 THE NV -0 : RETURN
1810 ESTIMI D$C C$,3,4 ) i GOSUB2350: A 1 = X £ I F V ~ 1 THENV =0 : RE TURN
1620 CJ-R JGHT$< C$,LEN< C$) -8) 5 L S LEN< C$ )
1630 IFL< I URL >8STHEN6O5UB28S0i RETURN
1640 tFLEFTJX C$, 1 >*= " « " THENRE TURN
3650 POKE56334 ,©: An- 1 : F URKK =A 1 TOP 1 +L - 1
1660 POKEKK ,ASC< MID$< C$ ,AA, 1 ) > : AA=AA+ 1 : NEXT
3670 FOK£56334,l
1630 rii -ftl +L:X -FU IGOSUBH900 SPRINT "0 "ES*" GOTO t 570
1896 REM ********** < INIZIO & FINE DA CASS > **********
1 700 IFL > 1 5THEI4GOSUB2 880 i RETURN
1710 C$ = R IGHT$( C$,LEN< C$>- 1 >
1720 OPEN IO, 1 ; 0,C$! CLOSE 1 0
l 730 X=PEEK< 830 > *256 +PEEK< 829 )
1740 GOSUB2900 ' PR INT^STES* “ - “J
1750 X -PEEK< 83£ ) *256 +PEEK< 93 1 )
1760 GOSUB280G * PR INTESA" fi” sRETURN
17 70 REM ********** 4- < COMAND i DISCO) **********
1790 Cf^R ÌGHT$< C$,LEN< C$) - J ) : A$^LEFT$<; C$,1)
1 730 I FA®» " $ rt THENGOSUB2030 : RETURN
1800 1 F n $ ~ H W ‘THENGOSUB 1990 SRETURN
1310 REM ********** COMANDI **********
1828 FORM 1T0L£N< C$>
1 030 IFMID$< C$,K , I >*"A“TH£NC$ = LEFT$C CS,K-JJ+"i " +R IGHT$< C$,L~K+ 1 >
1840 IFMI0$< C$ /K , 1 >** * “THENC$*LEFT$< C$,K~1 ) +“ , “+RIGHT$< C$,L-K+ 1 )
1850 NEXT
I960 OPEN 1 5,8, 15, C$
1 870 GQSU6 1830
1398 RETURN
1890 REM ********** ERRORE **********
1800 INFLITTI 5, A l$,A£$,A3$ f A4$
1910 PR I NT J ' !M" A i$ u , ,l AE$" , M A3$" , H A4$"IT i CLOSE 1 5 s RETURN
1320 REM ********** INIZIO PRQG DA DISCO **********
193G Cf = R IGHT$C C$,LEN< C$) - I > : IFLENC C$ ) =0THENGOSUB2880 : RE TURN
3940 OPEN10,8 ,3 ,C$
1950 GETtt 10,A 1$: GETtt 16 ,A2$: CLOSE 10
I960 X$-A1$:GDSUB2010: AI ~f\
1970 X$=A2$: G0SUB2© 10 iÀ2=A*256
1980 X=A 1 +A2:GOSUB2900tpR lNT f, M"ES$
50 - Computer Chtb
1390 OPEN 15,8 , 15 :GOSUBÌ360
E 000 RETURN
20 10 1FX*= " “ THE f'IR -0 s RE TURN
£020 A = ASC< X* ) ì RETURN
£030 REM ********** DIRECTORY * * * * * * * * * *
2040 POKE 198,0
2050 PRINT
2060 OPEN10 ,8 ,0, W S0 -
2070 GETtt10,A*,B$
2080 GET# 10 ,A*,B*:GET# 10,A^,B*:C=0
2090 !FA*< >" “ THE NC fc rtSC< A$>
2 100 IFB*< >* ** THEMC -C + ASC< BSO *256
2 110 PR ÌIMTM1D*C STR^< C > ,2) JTABt 4 >;
2 180 6ET#10,B$: IFST< >0THENH22©
2 13© 1FB*K >CHRSC 34 )THEN£120
2 140 6ET# 10 , IFB*< >CHR*£ 34 ) THENPR 1 NTB^J :GQTQ2 140
215G (SET# 1© ,8*; IF8$=CHRS< 32 ) THENg 150
2 160 PR SNTTABC 18 ); !CS= * *
2170 CS = C* + B*ìGET#10,B*s IFB*< > B "THEN2 170
2180 PRINT" "LEFT$CC*,3>
2 190 1FPEEKC B53K >0THEN2 1 90
£200 1FPEEKC 197X >B4THENPOKE 1 93 , 0 s GOTO2230
£2 1© IF5T*0THENE080
2220 PRINT* BLOCKS FREEM''
2230 CLOSE 10 i RETURN
£2 40 REM ********** H C RICERCA) **********
2250 I FL< >l2THENGgSUB2830 ! RETURN
2260 POKE 138,0
2270 £*-RIGHT*< C*,L >
£28© X$=MID*C CS, 10, 1 ) 5 IFX*< > lf "ANOX*< > ■ - ■THENGOSUB2880 1 RETURN
2830 X*=MtD*{ C¥,5, I ) S IFX*< > u > * - 11 THE NGOSU82S80 ; RETURN
2300 ESS=LEFT*< CS,4? : GQSUB2950 s A 1 =X : 1FV = 1 THENRETURN
£310 ES*=MIDS* C* ,6,4 ; =GDSUB2950i A2=Xi l F V = 1 THEf^ETURN
£320 E S£- "0© " +R I GHT$t C*,2> : EOSU8E950 : A3 ~X : IFV” I THENRETURN
£330 I FA 1 ? A2THENG0SUB289G : RETURN
2340 PR I NT t F QRK K 1 T0R2
2350 IFPEEKt KK ) ^ A3THENX-KK a G0SUB£900 : PR INTESS; * * I
2360 IFPEEKC 187M >B4THEN£300
2370 NEXT
238© PDKE 198,0 : PRINT: RETURN
£330 REM ********** L & V £ LORO & VER I F Y ? **********
2400
2410 L=L+2t 1FL<6THENGOSUB2OS01 RETURN
£42© DATA 1 63 , 1 5 , 1 62 , 0 , 1 60 , 1 , 32 , 1 86 , £55 , 169
£430 DATA 0,162,198,160,2,32,189,255
2440 DATA 189,0,162,0, 160, 0,32,213, £55, 96
2450 C* = E 1GHT4K C*,LEN< C$>-1 >
24G0 A2 = VAL( R 1 ©HTt< C*,2^ > sC*=LEFT$< C*,LENC C$>~3)
£470 I F A2< >lANOA2< >8THENGOSUB2880 : RE TURN
2480 A**LEFTS< C$, l > J 8*=R IGHT*< C*, 1 >
2490 IFA*< >*' 1 *QRG*< > ,f * ‘ THE NGOSUB£880 : RETURN
2500 CS^LEFT S< CS,LEN< CSJ -l > : C**R IGHTS* CS,LEN£ CM}-Ì >
Computer Ciuò - 5 i
co m
£5 10 I FA£=8ANPC$- - *'THENGOSUB2880i RETURN
£5£0 lFLEhK C$> > 1 GTHENDCSUB2880 : RETURN
£530 RESTGRE ! FQRT=0TO£7 : RE ADR t POKE680 +T ,A ! NEXT
£540 IFCÌ= H " THEN2560
i £550 FORK - 1 T0LEM\ C$> iPOKE70S+K ,A5CC MlDSs Cì,K ., 1 > ) INEMT
£580 PUh ES33 , A£ ? PDKEG90 , LEN< CS> i P0KE69S ,0 : 1FAA$= " V M THENP OKE89S , I
£570 SYS6S0
£580 lFR£=lAr©ST< >0THENPR ÌNT 11 ^ERROR “
£530 [FA£^8RNDST*80THENPRINT b flERROR “
£600 FR 1 NT= RETURN
£61© REM ********** S C BAVE > **********
£6£0 L=L+£t IFU< 1 6THENGOSUBS880 : RETURN
£630 DATA 1 63 , 1 5 , 1 6£ , 0 , 1 60 , 1 , 3B , 1 86 , £55
£640 DATA 169 , 0 , 162 , 1 98 , 160 ,£ , 3£ , 189 ,£55 ,163,851
£650 DATA 1 68, 0 , 1 60 , 0 , 3£ , £ 1 6 , £55 , 36
HE60 C$=R 1GHT$< C$,LEN< C$>~ 1 >
£670 E5$ = R IGHTSC C$,4 > : C$-LEFT$C C$,LEN»: C$) -5> s GOSUBES50 : A£ ~X
£680 ES$~R I GHT$( C$,4 > :C$=LEFT$< C$,LENK C$1 -5) ì 6OSUB2950 s A S = X
£600 1FA I >^A£THENGOSLJB28&0: RETURN
£700 A3-VAL^ R IGHT$C C$,£ > > : IFA3< > 1ANDA3< >8THENGOSUB£S80 : RE TURN
£7 10 C $ ” L E F T$< C $ , LE N< C $ > -3 >
2728 A$=LEFT$\ C$ , 1 ? SB$*RI<3HTS< C$, 1 ì
£730 IFA$< >° 1 *'ORB$< > H 1 H THENGO5UB£SB0 : RE TURN
2740 C$ = LEFT$< C$/LEN< C$>~ 1 > SC*=RIGHT$< C$,LEN< C$>- 1 >
£753 1 FLEN< C$> > 1 6 THEH3QSUB2880 i RETURN
£7E0 A( £> = INT< A 17856 > : FK 1 >-A 1 -A< £ > *£56
£770 fK 4)^ I NTC A£/'£56>:A< 3>-fY2-A< 4 ) *256
£780 RESTORE S FORT -0TOE7 : REAOA ! NEXT
£790 FORT = 0TO£7 ! RE ADA S POKE680 + T , A : NEXT
£300 IFC$=“ * THENE880
£8 10 F ORK - IT0LENK C$> :ROKE70S+K ,ASC< MjD$< C^,K , 1 > ) J NEXT
£9£0 P0KEG83 ,A3:ROKES90 ,LEN( C$ ì
£830 POKE7BI , A< 3 > :PQKE703, A< 4 > : P0KEE5 1 ,A-; 1?
£840 P0KE£5£ ,A< S ) : SYS68© s PR INT
£850 RETURN
£3E0 EM3
£870 PR INT* JfcBMLR ì GOTO 150 g" ; : P0KE63 i , 13 ! POKE 138 / 1 i EfJD
£880 REM ********** ERRORE **********
£350 PRINT P CT ;TAB< 37 “ s RE TURN
£300 REM ********** DEC -ESA **********
£910 ES$ = " * ' F0RK9 =0TO A3 : X 1 = INT( X/ lBTC A9-K3 ? >
£320 X«X-X 1 * I6f( A3 ^K3 > :AK$=5TR$< XI)
£93© E 1$ = R IGHT$< AK$,LEM( AK$>~ J > t 1 FX 1 ^9THENE 1$ = CHR$< X i +55 >
£940 ES$ = E3 $+E L $: NEXT : A3 * 3 : RETURN
£350 REM ********** ESA “DE C **********
£860 X = 0 ;FORK9*0TOA9j Xl $=MID$< ES$,K9+ 1 f 1 > :U^VAL< Xl$)
£37© lFU = @ArOX 1$< > "0-*THEN£390
£380 X^X + U * 16 T*; n9-K9) i htXT : A9 = 3 : RETURN
£990 U = ASC< Xl*)-55* IFU>I50RUC -7THENV = 1 : 6OSUB2880 : RETURN
3000 X=X+U+ 16 T< A9-K9 > ì NEXT : A3 - 3 : RETURN
READY -
5? - Computer Club
M ICROPROCESSORI
DlS ASSEMBLER
uest'udk programmi, numerato da
4000 in poi in modo da consentire l n ‘AF*
PENI)’’ al programma Iper Monitor,
INO
.N ESA
□ATI
MLEMON.
permette di esplorare la memoria dd vo-
stro computer. U istrunwii per il fuo/ìo-
1 13
0073
£6 re
INCZ
122
na mento sono riportate da 4044 a 4 184,
1 1 7
0075
□0 02
BINE
2
Se, utiiimAdo U programma. appare
1 19
0077
EB 7B
INCZ
123
121
0079
AD 26 OF
Loe
3944
Terrore ddla riga 4232, vuol dire che
124
007C
C8 3ft
ChFIM
50
avete digitato emme-ameni? alcuni dd
126
007E
90 0A
8CS
10
valori 1,23 riportati nei DATA, L’errore
128
0030
C3 20
CMP I M
32
di riga 4233 indica^ invece, una errata
130
0032
F0 EF
BEO
239
trascrizione di asterischi ( * ).
132
0034
36
SEC
li a figura riportata rappresenta Tout- i
133
0065
E9 30
SBC Iti
48
135
0097
30
SEC
puf della routine CHARGET utilizzata
nel programma ESPANSIONE DEI CO-
1 36
00B9
E3 00
SBC IM
208
MANDI BASIC. j
139
00@fì
60
RTS
4000 REM ** QISASSEMBLER 6302 -63 10 **
4010 REM •* t*
4020 REM ** ALESSANDRO DE SI MONE **
4030 !
4040 PRJNT'J DIGITA IN DECIMALE L'INDIRIZZO DI
4030 PR INT'PARTEf'CA DEL PR0GRAI*f4A DA 0 I SASSEMBLARE .
4060 PRINTiPR I NT "DOPO CHE SULLO SCHERMO (0 SU STAMPANTE)
4070 PR INT “SONO APPARSE 23 RIGHE, E' NECESSARIO
406® PR INT "DIGITARE *?ETURN* PER CONTINUARE OPPURE
4090 FRINT"»OMEH PER TERMINARE O aSPACE* PER OTTENERE
4100 FRI NT "LA SOLA ISTRUZIOInE SUCCESS IVA . - i PR INT
4110 PRINT" CON tf^JLLB SONO INDICATI I DATI CHE*
4120 PR INT "NON SONO RICONOSCIUTI COft ISTRUZ IONI .* i PR INTi PR INT
4130 PRINT* UTILIZZANDO LA STAMPANTE APPAIONO
4140 PR INT"S I A SU VIDEO SIA SU STAMPANTE LE
4130 PRINT"TRADUZ IONI ESADEC IMALE- DECIMALE E
4 1 60 PR I NT*V ICEVERSA
4170 PRINT'PER INTERROf'f’ERE PREf'ERE SHIFT"
4180 PR INT "PER FINIRE BATTERE UN INDIRIZZO NEGATIVO*
4190 D IMMNSC 236 ) ,BY)K 236 ) ,C0*< 16)
4200 FORE“0TO2'33l REA0f-t4*< E)
4210 IFW*( E ) *TH£NBY)i< E)“0iW*K E ) 3 "aULU* i GOTO4230
4220 READBYXCE)
4230 NEHT
423 1 Y»OiX*B5FORi»gT0233iX«X+BYM< 1 >1 IFBY>« I )*0THENY=Y+1
Computer Club - 5 3
4232
NEXTi 1FX< >32 ITHEFFR INT" 1 /E/3 ERRATI NEI
DfìTFi* :END
4233
IFY< > 105THENPR INT"ERROF I IN QUANTITÀ’ DI
*
DATA " : END
4240
F0RE = 0TQ 1 5
4 E 50
RE RDCOSC E)
4280
NEXT
4270
PRINTSPRINT’M »=REMI UN TASTO”
4280
GETX*: IFX*** "THEN42B0
4290
6OTO4360
4300
SX = I NT( OC/ 16)
4310
UN = DC-< SX* ÌB>
4 320
SX*=COS( SX)
4330
UN*=COS< UN}
434©
HX*=5X*+UN*
4350
RETURN
4360
PRlNT:PRINT“CON STAMPA ? SI 0 NO ” t
4370
GETX*: ÌFX*= • 'THEN4370
436©
IFX*< > "5 “ THEN44 10
4330
0FEN4 # 4
4400
Fl*=“ INC.N ESA DATI MNEMON. “
44 10
PR I NT 11 y M I
4420
INPUT” INO IR I2ZO 01 PARTENZ A “ ; AO : I =0
4430
IF RD<0 THEN CL0SE4iEND
444©
JFX*="S*THEN1F I =0THENPR I NT«4 , F 1 * : PR I NT*4
4450
IF I =2360X04740
4460
1 = 1 + 1
44 7©
IB=PEEK< AD)
4480
IF PEEKC 653 > THEN 4420
4490
QNBYX< 1B)GOTO4500 ,4550,4630
4500
DC= IB J 6OSUB4300 : GO SUB 5 100
45 10
PR INTAD; FìD&S TfìBt ie>;HX*JTAB< a 1 } ;lflK IS }
4520
LF = M S * THENPR 1 NTH4 # AD " "ADa^HX*' 1
, mn*( i e >
4530
AD*flD+ I
4540
GOTO4730
4550
DC = IB ■ GOSUB4300
4560
B l*=HX$
4570
DC =PEEK< AO + l ) ! GOSUB4300
4580
453©
GD5UB5 100 i P-DC
4G00
PR INTAD " AO*TAB< 1E)JB1*; " ”;B2*>TAB( 81 ) J MN*(
IB))TAB< 27) )P
4610
IFX*= ”S "THENPR iNT#4 ,AO “ “AD*,BI*“ ”B2*"
pi
,MN*< IB),P
4820
A0=AD+2 t GOTO4730
4638
DC= 18 * GO SUB 4 300 ! B 1 S=HXSS DC = PEEK( AD + 1 ) : GOSUB4300
4840
B2$=HX$
4650
OC=PEEKC AD+2} ' 605UB4300
4668
B3$=HX*
4670
OP = PEEKC fìD + i )+< PEEKC RD+2 )*£56}
4880
G0SUB5 100
4630
PR INTAD i AO*,* TABC 12);B1*J " ‘ *f
4700
PR INTB3S; TftBK 2 1 > ; MN*K I B > ; TRBt 27 > ; OP
4710
I F “ B " THENPR 1 NT44 , FIO * É B2$"
P B3$,MN*< I B > ,0F
4720
fi 0=^0 +3
54 * Cornpulef Club
■e
'4730
GOTO4440
—
4740
SETA*: IFA*= ■ -THEM4740
4750
IFA*
= CHR*< 1 3 >THEf'ICLOSE4 : G0TQ44 10
4 760
TFA*
*- "THE NI ”22 • GOTO 4 440
4 770
IFA*< >CHR*< 13JTHEN4740
4730
1 =0
4730
GOTO4440
4 800
DATA
BRK , 1 ,QRft , *,ORAZ ,2 , ASt. ,2 , * ,PHP , l
4310
DATA
ORA IM,2 , ASL.A , 1 , * , * „CIRA ,3 ,ASL. ,3 , * ,BPL ,2 ,ORA IY,2
4820
□ATA
* ,* , * ,0RAZX,2 ,ASLZX,2,* ,CLC, 1 ,0RAY,3
4830
DATA
* , * , *,ORAX,3,ASLX,3, *, JSR,3,AN0 IX ,5,*
4840
DATA
* ,BITZ , 3 , ANDZ ,2,R0LZ ,2,*,PLP, 1 , ANO IM ,2 ,ROLA , 1 ,*
4350
DATA
BIT,3,AN0,3,RQL,3,*,BM1 ,2 ,ANO I Y,2 , * , * , *
4860
DATA
ANDZ X , 2 , ROLZ X , 2 , + ,SEC, 1 , ANDY ,3 , * , * , * ,ANOX,3
4870
DATA
R0LX,3,*,RTI , 1 ,E0RIX,2,*,*,*,E0R2 ,2,LSRZ ,2
4880
DATA
*,PHA, 1 ,E0RIM,2,LSRA, 1 , * , JMP ,3 ,EOR ,3 ,LSR ,3 , *
4890
DATA
BVC,2,ECTR IY,2 * ,EORZX ,2 ,LSRZX ,2,*
4 800
DATA
GLI , 1 jEDRY ,3/*^*,* ,EQRX * 3 ,LSFX # 3 , # #RTS * 1
4310
DATA
ADC IX ,2 , * , * , * r ADCZ ,3 ,RORZ ,2, * ,PLA , 1 ,ADC IM,2
4820
DATA
RORA, 1 , * , JMP I ,3,ADC,3„R0R,3, * ,BVS ,2 ,ADC I Y,2 , *
4930
DATA
*, * ,ADCZX ,2,R0RZX , 3 ,*,SE I , I ,ADCY,3,*,*
4340
DATA
* , ADCX ,3 ,RORX ,3 , * , * ,STA IX ,2 , * , * ,STYZ ,2
43S0
DATA
STAZ ,2,5TX,2, * ,DEY, 1 , * ,TXA, 1 , » ,STY ,3, STA, 3
4360
DATA
5TX,3 , *,BCC,S,STAI Y,2 * ,£TYZ K ,2 ,STAZX , 2 ,STXZY ,2
4370
DATA
* , TYA . 1 , STAY ,3 , TXS , 1 , * , * ,STAX ,3 , * , *
4380
DATA
LD Y I M, 2 ,LDA IX ,2 ,LDX IM, 2 , * , LD YZ ,2,L0AZ ,2,L0XZ ,2 r *
4380
DATA
TAY, 1 ,L,DA IM,£ , TAX , 1 ,* ,LDY ,3 ,LDA ,3 ,LDX ,3, #,BCS ,2
5000
DATA
LDAIY,2,* ,* ,LDYZX ,2,LDAZX,2 ,LDXZY,2 , * ,CLV , 1
5010
DATA
LDA Y , 3 , TSX , 1 , * , LD YX , 3 , LDAX , 3 , LDX Y , 3 , * ,CP Y 1 M , 2 , CW IX ,2
5020
DATA
* , * rCPYZ ,£ ,CMPZ ,2 , OECZ , 2 , * , 1 NY , 1 , CMP I M , 2 ,OEX , 1
5030
DATA
*,CPY,3,CMP,3 ,OEC ,3, * , BhE , 2 , CMP 1 Y , 2 , * , *
5040
DATA
*, CMPZX, 2, DE CZX ,2, * ,CLD, 1 ,CMPY,3 , * , *,*
5050
DATA
CMPX, 3,0ECX,3, * ,CPXIM,2 , SBC IX, 2 , * , * ,CPXZ ,2 ,SBCZ ,2
5060
DATA
INCZ ,2,* , INX , 1 , SBC IM,2,N0P, 1 , * ,CPX ,3 ,5BC ,3 , INC, 3
5070
DATA
*,BEQ,2,5BCIY,2,*,*,* ,SBCZX,2, 1 NCZX ,2 , * ,SED , 1
5030
DATA
SBCY , 3 , * , * ,SBCX ,3 , INOX, 3, *
5090
DATA
0,1 ,£,3,4,5,6,7,8,3 / A |F B,G,D.rE , F
5100
A=AD
ì S3= INTC AD/4096 >
5 1 10
A -A -
53*4036
5 120
S2= INTC A/256)
5130
A=A-
S2*E56
5 140
S= JNTC A/16 )
5 150
U*AO
-< 53*4096+SB*£56+S* 16 >
5 180
53*=co*c sa >
3170
CO** S2 >
5130
S*=CO*( S)
5 190
u>
5200
AD* =
S3*+S2*+S*+U*
52 10
RETURN
READY,
Computer Club - 55
o« e
OM
Avanzato
Espansione
dei Com andi Basic
Un modo di inserire comandi
personalizzati nei vostro computer.
gesto articolo, e il relativo program-
ma, si ri volgono primi palme rate ai {ettari
t hè già conoscono appmfonditamenie LI
Commodore 64 e sanno cavarsela coti la
programmazione in Assembler*
Per tutti gii altri interessaci al solo uso
di nuovi romandi (chissà che anche voi
non vi prendiate urta colta per F Assem-
bler prima o poi), vi e anche il program-
ma in Basic che vi permette di aggiungere
3' utile cornando — C A,B dove *A* e 'B‘
sono rispetti vomente il colore del bordo e
dello sfondo. Basta caricare il program-
ma c dare MI N per avere a disposizione il
nuovo comando.
er i lettori più esperti non dovrehbe
essere difficile capire il funzionamento
dd programma, ma in ogni caso ecco la
descrizione dello stesso. Fon unitamente
i progettisti del sistema operativo del C A4
li un no previsto che sarebbe stato utile po-
ter espandere in qualche modo i comandi
del Bande, e al fine dì permettere ciò han-
no situato una importante routine in
RAM in modo da poter essere convenien-
temente modificata all'occorrenza,
T ale routine si occupa di cercare il
prossimo carattere da interpretare igno-
rando eventuali spazi bianchi. Il pro-
gramma pubblicato modifica questa mo-
line che e situala in pagina zero a partire
dalla locazione 1 15. Se esaminate attenta-
niente il listato defi ‘Assemblatore (tenete
presente che si tratta dell' Assemblatore
pubblicato sul numero 7 di questa stessa
rivista, per cui controllale la particolare
sintassi usata), vedrete che il tutto è molto
semplice.
In pratica si sostituiscono i primi 3 hy-
tes della routine originale con una istru-
zione di sulto alle nostre routine che
provvedono, nat ura ime rate, a rimpiazza-
re ì tre bytes soppressi , ed in più effettua-
no un ulteriore controllo sui caratteri da
inviare afI T in ter prete.
er La precisione il programma con-
troflit se il carattere che sta per essere
invialo all 'interprete è un nel qual
caso si salta alla routine USER, mentre in
caso contrario il controllo viene restituito
all 11 interprete. La routine USER ha il
compito di esaminare i caratteri che se-
guono la *— per individuare le differenti
Istruzioni (nel nostro esempio il comando
e uno solo, v— C) e saltare alle corrispon-
denti su bruti fi nev
Tenete presente che se il comando ha
un solo argomento, come nel nostro esem-
pio, per prelevare i caratteri che seguono
occorre chiamare ogni volta la subroutine
denominata NF.XT .
i Mino due routine*» del Basic che ven-
gono usate nella routine 4 — C e in quella
ERR. 1 jì prima interpreta 2 numeri o
variabili separali dalla virgola, codifican-
do il primo su 16 bit, il cui valore è posto
alle Locazioni $14 e $15 e il secondo su 8
bit, il cui valore e posto nel registro \.
La seconda di queste routine, se chia-
mata con un .ItVfP provoca la stampa del
messaggio 71LLEGAL QtJANTITY ER-
56 - Competer Chiù
p
er finire lina curiosità; i nuovi coman-
di vengono interpretati anche airi n temo
dei REM , per cui attenzione se in fase di
debug REM -ale qualche lìnea*
h in re manualmente 1 due bytes segnati
ci m (R> nel listato A aem bkr, Questi de-
vono infatti puntare sempre al l'indi ri zzò
corrispondente alla linea 73 del listato As-
sembler-
KM) : ^tb T 6:
Racchiudere T cioè, il comando tra due
coppie di doppio punlo.
A mi rea & Alberto Romiti
10
20
30
40
45
50
55
56
57
58
60
65
70
75
77
-♦.SC000 ; OR IO INE = 49 158
" LDA
S4C
! POS 1 2 I ONfl
” STA
< #1 15>
; il
* LOA
*17
JCRJ SALTO
“ STA
< n I 1 6 >
> ALLE
* LDA
SCO
;<R) NUOVE
STA
(KH7)
J ROUTINES C LINEA 79 5
11 RTS
^ *******
•©NEKT
; SUBROUT I NE
“ INC
,< «133)
; RICERCA
“ IENE
UNO
r CARATTERE
■ INC
.C tt I£3>
”@UNO
11 RTS
78 %'***** + * + + 3M#*** + ************#*****
78
80
90
190
1 10
120
130
I 35
140
145
150
155
160
170
180
190
300
330
330
£40
350
’-s C ^
cSc
354
255
360
300
305
* JSR < NEXT > MNTERPRETA IL COMANDO
" TXA
* FHA ; NELLO STACK
* LDX #0
H LDA /Ai #1 £2 >; PRELEVA IL CARATTERE
“ CNF #95 r E * UN ' ^ p 7
‘ BEQ USER ; SI 1 , NUOVO COMANDO
11 £?END
M PLA J RIPRISTINA X
H TRK
" JMP >:#12 1 ) } NO, RI TORNA AL BASIC
eusER ;
ROUTINES Di UTENTE
JSR
{ NEXT)
LDA
/X< # 122 )
CMP
WS?
; E * UNA k C * ?
SEQ
C ; SI, SALTA
JMP
< E ND > ;no
,F INiSCE
8C
i ROUTINE
DI PROVA
JSR
< VAL)
STA
C #5328 1 )
t SETTA SFONDO
LDA
( *14)
STA
< #53330 )
; SETTA BORDO
JSR
< NEXT)
JMP
< END )
<5 VAL
JSR
< NEXT >
Computer Club - 57
3blQ
3 IO
tP
JSR
C *B7EB )
f VALUTA NUMERO
SEGUENTE
3 15
Pi
TXA
340
PP
CNF
; E '
< D I T 0 *
7
350
IP
BMI
ERR
,* S I
■ , ERRORE.
3S0
H>
CNF
a 18
E '
> □ 1 15
7
370
M
BPL
ERR
>5 1
1 , ERRORE
371
W
LDA
< *1 4 >
372
H
CMP
*10
; E 1
< 01*0*
7
373
«
BMI
ERR
;s i
- , ERRORE
374
•N
CMP
4 16
> E 1
> D I 15
■7
*•
375
in
BPL
ERR
; 3 1
- , ERRORE
37S
frp
TXA
380
II
RTS
330
K
*!ERR
UROLITI NE
D I ERRORE
400
II
JMP
< $B24B >
° I LLEGAL QUANT I TY ERROR
REROY
*
ESPANSIONI COMANDI BASIC FIG* 1
100 REM ******** * ******************* t * # *
110 REM * EXTRA BASIC PER COMMODORE 64 *
120 REM * ALBERTO & AND REA BORI RIMI *
J30 REM * V IR ACACIE 3 CUSANO M I LAN 1 NO *
140 REM * TEL , 02X6 1 35626 *
150 REM ********* ***** ******************
160 i
170 REM **** LETTURA OPTA ****
100 ;
190 POR F=0 TO 10 H READ D= POKE 4915£+F,0: C =C *0 : NEXT
£00 REM **** CHECK.5UM *** +
£10 IR C\ >10233 THEN p R INT” ERRORE NE I DATA 11 i END
220 SYS 49152
£30 REM +***- DATI ****
240 s
350 DATA
280 DATA
£70 DATA
£90 DATA
290 DATA
300 DATA
310 DATA
3D0 DATA
330 DATA
340 DATA
350 DATA
3G0 t
370 REM ESEMPIO SINTASSI:
3B0 REM +C6,6
390 REM COLORA FONDO E BORDO IN BLU
READY . ESPANSIONI COMANDI BASIC FKS-2
1 69 , 76 f 14 1 , ì 15 , 0 , 169 , 23 , 141 , 1 16
0 , 169 , 192 , 141 , U 7 , 0 , 9 E ,230 , 122 ,£08
2 , 230 , 123 , 96 , 32 , 16 . 132 , 133 , 72, 162
0 , 161 , 122, 20 1 , 35 , 240 , 5 , 104,170
78 . 12 1 , 0 * 30 , 16 , 132,161
12 £, Ó 31 , 67 , 240 , 3 , 76 , 3 © , 132,32
71 , 192,141 , 33 , 203 , 1 73 , 20 , 0 , 1 4 1 , 32
208 , 32 , 18 , 192 , 76 , 36 , 1 92 , 32,16
1 92,32 , 235 , 183 , 138,201 , 0,48
1 7 * 20 1 , 16 , 16 , 13 , 1 73 , 28 ,0 .£0 1 ,0
48,6-201 , 1 6 , 1 6 ,2 , 1 38 , 36 , 76 , 72 , l 78
58 Computer Club
Didattica
La Gestione
dellTnterrupt nel Commodore 64
Nuove, straordinarie possibilità
d 'impiego per il vostro computer.
1 1 lettore dovrebbe sapere che alE inter-
no dei computer Commodore e f è un oro-
lojEJO, con ciclo di 24 ore, che inizia a
contare il tempo dall'istante in cui viene
data tensione all' apparecchi in. Tale con
latore di tempo e piuttosto preciso, dato
che e controllato da un quarzo e gli sono
dedicate due vana bili , t na di queste e il
I L variabile riservata al calcolatore nel
senso che non può essere modificata dal-
l’utente. Se infatti tentiamo di digitare
1 1=43 otteniamo un M VTAX LHROR,
[„a seconda variabile e invece TIS e serve
per regolare K orologio su IT ora
desiderala»
taf sempio: HS= “121300" comun iche-
rà al calcolatore che e rneziu*£k)rmj e un
quarto, t ' ovvio che TlS viene aggiornala
di continuo, ed esattamente 60 volte al
secondo, dalla variabile TI, Quest’ idi ima
variabile ha riservate tre locazioni di me-
moria» Udì, 16 L 162» nel Commodore 64
come nel Vie 20, Il loro contenuto viene
incrementato» l'uno dopo l'altro, da zero
a 25$. Il microprogramma rii figura I e di
aiuto per comprendere quanto assento,
o gni ses-santesimo di secondo si deve»
pertanto, verificare un processo per cui»
anche se l'utente non lo richiede esplicita -
nume, i contenuti delle tre locazioni, ven-
gono aggiornati, elaborati e trasferiti io
TIS se richiesto»
A tutto questo, e a tante altre cose,
provvede il Sistema Operativo IS.O. i e
vedremo in che modo.
^Plichi sanno che il 6502 e il 65 II), micro-
processori utilizzati sul Vie 2(1 e sul Com-
modore 64» hanno» ira gli altri» un piedi-
no i pin i ed esattamente il -V4 (65021 ed il
V.ì (6510) chiamato IRQ (Infermpt Re-
Queii = richiesti* di interruzione di pn^
gramrnai. tn assenza del segnale appro-
priato sul pin specificato, il mkni proces-
sore lavora nnr nuilniente eseguendo il
programma allocato in memoria. Non ap-
pena invece giunge rimputsn, il micro-
processore* automaticamente, compie k
seguenti operazioni:
* Porta a termine ristnizioae che sta ese-
guendo in quel momento (attenzione: la
singola Istruzione in Linguaggio Macchi-
na c non l'eventuale istruzione Rasici.
* Salva 1 memorizza } il contatore di prn-
gnunnu, cioè l'indirizzo dell - Istruzione
successiva, che avrebbe eseguito se non vi
fosse stata la richiesta di interruzione.
* Sai va il registro di Hag di stato (Curry,
Ove rftw * Negativo, ecr») in un modo che
in questa sede non interessa.
* Salta ad eseguire il programma in Lin-
guaggio Macchina il cui indirizzo di par-
tenza è contenuto nelle locazioni FFH
t parte bussa i e HIT f parte alta j* Si tenga
presente che il modo di operare descritto
e una caratteristica de! micro processore e
non del computer» Qualunque calco! ato-
re basalo sul 6502 oppure sul 6510 rem*
conio del contenuto degli indirizzi FFFF
KIT 1 alla richiesta di un intcrrupt.
* Il nuovo programma in L.M. dive ter-
minare con una Estrazione RTI (Rerum
fmm Intemipl - ritorna dall' iute mizio-
neb codice esadet imale 4fl, Istruzione im-
plicita ad ii ti solo byte*
• Quando il mkroproces'yure incontra l'i-
4ntx»fK RTI, esso richiama nuovamen-
te il registri dei Hag inirmi precedente-
mente memorizzati e l indi rizzo dei Pi-
vtruzioue che avrebbe dovuto eseguire se
non vi frisse stala richiesta di
interruzione.
A questo punto il micro e nelle stesse
co udizioni in cui era quando si e verifica'
to I IRQ. Attenzione: ['accumulato re. il
registro X e quello Y non sono più gli
stessi di primo, ma assumono ['eventuale
valore derivante dalla elabora/ione della
mutine di interrupt.
odiamo ora a che può servire quanto
detto finora, lì piedino dei circuito inte-
grato spesi fica to e connesso con un i Imi
(regnale temporìzzato l per cui il compu-
ter (badate bene: ogni sessantesimo di se-
cotido}, interrompe IXabura/io tir ed ese-
gue alcune routine di controlla. Per esem-
pio, non appena si accende Lappare* - -
chiù, ed anche in molti altri casi* ii curso-
re lampeggia con un ritmo ed in una posi-
zione determinati proprio dalla mutine di
interrupt. Questi* esamina* ad altissima
trincila» se e stato digitato un tasto oppu
5-9 - Coprii a ter Ck iti
re se e in corso uno scambio di dati Ira
computer e periferiche (regist nitore,
floppy, stampante, penna III mimica ecc,}„
Se tutto ciò fornisce un risultato negativo
va a controllare quanto tempo e passato
dalla precedente interruzione e T a secon-
da dei casi-, cancella o visualizza il cursore
in modo da farlo lampeggiare e aggiorna
TI!!!
^^uando ad esempio facciamo girare
un programma Basic la cui: durata di ela-
borazione apparente è dì un solo minuto,
la mutine di intemipt sarà stata interro-
gala circa 36fltì volte 160 k 60),
100 PRIMI PEEK(160)PEEK-
(161)PEEK{162); GOTO 100
Figura I
uanto dello finora* benché, ce lo au-
guriamo, sia interessante, può sembrare
senza applicazioni pratiche dato che le
locazioni di memoria che contengono Fin*
dirizzo di IRQ sono io un blocco dì memo-
ria ROM e quindi non alterabili da parte
delfutente. Ciò è vero a livello dt archi-
tettura del sistema A5XX, ma bisogna te-
ner presente che la mutine di interrupt,
tra le altre cose, salta ad eseguire, ad un
dato punto, tuia routine il cui indirizzo di
partenza è contenuto nelle due locazioni
RAM 78S-789 fesadecimak = 0314-0315)
sia per U Vk 20 che per il Commodore 64.
Poiché la memoria RAM è alterabile da
parte dell * utente, ne deriva che una ma-
nipolazione delle due locazioni apre nuo-
ve, straordinarie possibilità.
Il diagramma di Busso di figura 2 do-
vrebbe chiarire le idee su quanto detto
finora. Si noti, tra l'altro, la nuova Istru-
zione a tre bytes (6C LA HA) che viene
così interpretata;
Vai od eseguire la routine il cui indiriz-
zo effettivo è contenuto nelle due locazio-
ni che seguono fLA HA}*
P rima di andare avanti con i consueti
esempi pratici, parliamo di altre istruzio-
ni in codice macchina che riguardano
j’interrupt, iniziando da lSEI (SEt In ter-
rupi) codice macchina 78 , Istruzione im-
ComputerOub - 60
plàcito ad un solo byte* Abbiamo detto che
ogni sessantesimo di secondo il clock ge-
nera un impulso che fa scattare la routine
di inlemipt. Questa ha una durata infe-
riore al sessantesimo di secondo Sfigura
3 A) e quando restituisce il coninolo alla
routine principale, il seguale presente al
pin dell' I KQ è tale per cui effetti vametite
il microprocesson? riprende a lavorare
nel punto io cui aveva smesso al momento
della richiesta dì interrupt. Supponiamo
ora che la routine di inlemipt ( richiama-
ta alF istante Tl di figura 4>, abbia una
durata superiore al ciclo di clock: mentre
la routine è in piena attività il micropro-
cessore riceve sul pio interessato un nuo-
vo segnale di interruzione aìristante T2>
-Crederà-, dì conseguenza, che sia stata
generata una seconda routine di inler-
rupi e va ad eseguirla. Analoghi malfun-
zionamenti si verificano se nel precìso
istante del ritorno dalla routine, il segnale
sut pin diventa attivo: si rischia* infatti, di
far girare solo la routine di interrupt e
mai quella * principale»,
S i presenta allora la necessita di ignora-
re, in alcuni casi, la richiesta di interrupt.
L’istruzione implicita ad un solo byte che
consente tale possibilità è CLI* codice
macchina SS, che viene cosi interpretata:
A partire da questo istante ignora qual-
siasi richiesta di interruzione che venga
effettuata*
bbìamo pertanto a dlsposì/kme quel-
lo che in gergo viene chiamato Interrupt
ma&cherabite. L 7 istruzione che consente
di tener conto nuovamente della richiesta
IRQ e NEL codice operativo 7B, implìcita
anchessa. Essa viene cosi interpretata;
A partire da questo Istante devi servire
ogni nuova richiesta di IRQ.
S i tenga ben presente la sostanziale dif-
ferenza tra CLI ed RTI* la prima con-
sente di tener conto di richieste IRQ:
quando cioè il segnale adatto è presente al
Ti
II
n
T2
T 3
Duma teorica dp una raulrn d*
ìnturrupt che uor può essere
assurte in Quando d< durala
superiore a TI e T2.
FIG 3
FIG.4
USO* Sac.
n
fi
GOCt
1
1
t
>
L
Tempo dedicato al orogramma principale.
Tenne dedicato allo routine di interro pT.
J1
TI
T2
pìn, scatterà la rfiutiw il cui indirizzo di
partenza è Ionizzato In EFFE ed EFFE
Con RTF invece, tale routine termina ed
ha un ritorno ai programma principale*
edùurm ora un Applica za me pratica.
Utilizzando un moni tur per linguaggio
macchina oppure ti potente programma
pubblicato in questo numero (1FER MO*
MTOR) richiamate te memoria in modo
da esaminare i valori contenuti nelle loca-
zioni 7S^?B9 lesa 031441315). In queste
noteremo ì > uteri 31 EX nel ( ommodore
64 e i valori t decimali i 19 1 e 134 od Vie
20*
R ichuuniamo ora una /orni di memo-
ria alterabile a piacere, come quella rela-
tira ai buffer della cassetta (033C -03 FR I e
digitiamo, a partire appunto da 0331.' ti
programma che segue (ionvnodore 64):
A9 oo 8D oo m A9 ou sr> oo i;m w.
Laudando questo programma, da mo-
nitor o da Basic mediante SYS 828, si
noterà I Apparizione della chteccktiirui, in
nera, nella prima locazione di schermo in
alto a sinistra , Se però cancelliamo iJ vi-
deo, col tasto fin Home, La chiocciolimi
scompare l elementare,,.}. Richiamiamo
ora le locazioni preeedeiHememe irascrit-
te e DHdilkhiunole come segue:
À9 00 8D ©tì 04 A9 0CI8D 00 DB 4C 3 1 EA
Subito dopo chiediamo il contenuto
delk locazioni di memoria 031441315 e
modifichiamo il contenuto in modo che
esso spunti * alia nostra routine _3C 03.
Non appena battiamo il tasto Return ap-
parirà la chiocciola nera in alto a sinistra.
Provate ora a cancellare lo schermo col
tacito Qr/tfocne; la chiocciohna e sempre
ili alto e non viene cancellala con nessun
mezzo? Che cosa e successo?
Ogni sessantesimo di secondo it clock
chiama la routine di ìnterrupt; ti Sistema
Operativo, durante tate operazione, va ad
eseguire anche una routine il cui indirizzo
è contenuto in 03144)315 che da noi e
slato modificato in G33C. Pertanto la rou-
tine di Ìnterrupt, prima di andare ad ese-
guire il - solito - giro che inizia a partire da
EA31, è costretta a passare per la nostra
routine che, come abbiamo visto, provve-
de a visualizza rr La chiocciolina nera in
alto a sinistra .
I) tasta Clr/Home, pertanto, funziona
perfettamente. Fa divenuta rotesisle nel
fatto che un sessantesimo di secondo dopo
che lo schermo viene cancellato, la eli ine-
rmi in a viene ristampala nuovamente dal-
la rietine di interrupt da noi modificata.
Il lettore che desideri sperimentare la
tecnica descritta tn questo articolo, tenga
presente che e indispensabile provare
dapprima La routine che si desidera inse-
rire, come una normale routine in L.M.
iche termina con RTS, 60), Solo in segui-
lo, accertatone II funzionamento, sosti*
mire 60 con 4C 31 EA e modificare i
contenuti di 03144)315. Nel caso in cui si
desideri modificare una routine già inse-
rita è indispensabile:
* Riscrivere in 03144)315 * valori 3 1 EA*
• Modificare la nostra routine in modo
che termini con KTS 160).
• Sperimentare la nuova routine come
una normale ri allineila |SYS.. J
• Modificare 611 con 3 1 EA .
• Modificare i contenuti di 03144)315 in
modo che -puntino- alla nostra routine.
on vi azzardate a modificare le Loca-
zioni del vettore di ìnterrupt con dei sem-
plici POKE o comunque da Basidi!
Menine, infatti, rìsi razione POKE retati-
va alla parte bassa dell 1 indirizzo viene
eseguita, può arrivare al piu una richiesta
dì interruzione che farebbe partire la
routine con l'indirizzo modificato a
metà...
Si tenga ben presente che in ogni caso,
premendo H un /Stop e Restorc, sì ottiene
il ripristino dei valori originali del vettore
di ImerrupU
Alessandro de Si mone
Computer Club -61
$UQ
InTERRUPT:
Applicazk )\i Pratiche
adiamo ora alcune applicazioni coi
Commodore 64 che hanno il solo scopo di
studiare il coiti portamento del micropro-
cessore. Niente di male che* lavorando di
fantasia, Il lettore «inventi- nuove possi-
bilità per generare videogiochi o altre
applicazioni.
• Càtare. Facendo partire il programma
vi accorgerete che ogni volta che premete
urr tasto i colori del bordo e del fondo
cambiano.
• Sprite. Uno sprite colorato percorre il
perìmetro dello schermo TV mentre gira-
no altri programmi oppure mentre
listate.
• Suono Come per la prima routine, siilo
che si ode un suono casuale tutte le volte
che viene battuto un tasto.
• Flash! ng. Questa c forse Tapptica/ioite
più interessante. Come è noto alcuni com-
puter hanno non solo La possibilità di far
apparire dei messaggi in reverse, come i
Commodore, ma anche lampeggianti
(Hashing)* Con la routine pubblicata e
possibile ottenere tale punibilità col
Commodore 64, Se, ad esempio, volete
far apparire lampeggiante il messaggio:
QUESTA E* UNA PROVA
digitate cosi:
PR1NT CHR$U60> -QUESTA ir UNA
PROVA” CURRI 60)
Il carattere CHR$(160l rappresenta
quello ottenibile premendo contempora-
neamente il tasto ShJft e la barra spazia*
Ilice. In altre parole, con la routine Ha-
shing, appariranno Lampeggianti tutti i
messaggi che iniziano e terminano con il
carattere { 160).
62 - Computer Club
3 REM COLORE NELL 1 INTERRUPT
4 REM BY MARIANI GIANCARLO
5 REM VIALE BRIAMZA 72-20036 MEDA (MI)
6 REM TEL- 0362/72565
7 REM
8 REM PER FERMARE i RUN STOP/RESTO RE
3 REM
10 A -48 152 i REM A INTERAMENTE R ILQCAB ILE
£0 B=0!FORT*ATOA+£9i READC JPOKET,CiB*=B+C«NEKT
30 IFB< >31 1 9THEMFR 1 NT * HERRORE NEI DATI n * END
35 INT< A/256} i C»A~B*256
40 PDKEA +£ /C+ 13 s P0KEA + 7 ✓ B
45 SYSA
1000 DATA 120 , IS9 , 13 , L41 , 20
10B5 DATA 3 , 163 , 32 , 141 ,21
1010 DATA 3 , 88 , 96 , 165 , 197
1015 DATA 201 , 64 r 240 ,8 , 141
1020 DATA 32 , 208 , 105 -, 1 , 14 1
1025 DATA 33 , 208 , 76 , 49 , 234
READY-
13 REM* CONTIENE LA FREQUENZA *
13 REM* DEL ERBEGGIO *
1 5 REM* ************************
16 REM
17 REM
100 POKE56 , 139SCLR ; REM TOP MEMORY
1 10 F OR T = 40704 T04083 1 : READA :H=H+A
120 POKET,A:NEXT
130 1FHK > 1 4 1 73THENPR I NT - ERRORE NEI DATA “ i END
1000 DATA 169,0,- 133 ,2 , 120 , 1 63 / 17, 141
1010 DA TA2&, 3, 169, 159, 141, 21,3,88
1020 0ATA36, 165,8,201 ,5,208,22,236
1030 DATA 167, 2 ,173, 167,2,205, 168,2
1040 DATA208 ,74 ,162,0,142,168,2,134
1050 OATA2,202 ,142,167,2,186,2,169
1080 DATA96, 159 ,133,168,189,101,159,133
1070 DATA 167 ,160,0,177,167,201 ,96,208
1030 DATA9 , 173, 166 ,2, £4 , 105, 128,32
1090 DATA 1 1 1 , 159, 173, 166 ,2 ,201 , 128,208
1 100 DATA 7, 177, 167,24,105,123,145,167
1! 10 DATA20D, 182,200,206,222,76, 106, 159
1 120 DATA 4 ,4,5,6,7,0,200 , 144
1 130 DATA89, 32, 230 ,2,76,43,234 ,141
1 140 DATA 166, 2, 200, 96, 120,163,43,14!
t 150 OATA20 ,3 , 169,234, 141 ,21 ,3,96
1160 :
1170 PR INTCHRSt 1B0 J " PROVA # CHR$< 1 60 ) • EhO
READY*
3 REM SPRITE NELL 1 INTERRUPT
4 REM BY MARIANI GIANCARLO
5 REM VIALE BRIANZA 72
6 REM 20036 MEDA CMI> T* 0362/72565
7 REM
8 REM PER FERMARE : RUN STQP/RESTDRE
S REM
10 A=49 1 52 * REM A INTERAMENTE R l LOCAB ILE
20 B-0 " FORT = ATOA + 133: READC : POKET ,C : B=S+C : NEXT
30 1FB< > 1 7709THENPR I NT “M^RRORE NEI DATI * ! END
35 B=INT< A/256) :C=A-B*25B
40 POKEA + 35 , C +46 i POKE A + 40,8
50 6YSA
1000 DATA 169 , 0 , 133 , 252 , 133
1005 DATA 251 , 169 , 255 , 162 , 0
1010 DATA 157 , 132 , 2 , 232 , 224
Computer Club * 63
1015
DATA
63
1020
DRTA
141
1025
DATA
14 1
1030
DATA
14 1
1035
DATA
46
1040
DATA
32
1045
DATA
96
1050
DATA
240
1055
DATA
6 1
1060
DATA
201
1065
DATA
49
1070
DATA
0 ,
1075
DATA
173
1080
DATA
208
1085
DATA
49
1030
DATA
173
1 095
DATA
£06
t 100
DATA
49
1 105
DATA
173
1 1 10
DATA
208
1 1 15
DATA
43
1 120
DATA
173
1 125
DATA
208
I 130
DATA
252
READY «
, 208 , 248
, £48 , 7 ,
, £1 , 208
, 39 , 208
, 14 1 , 20 ,
, 141 , 21 ,
, 165 , 252
, 50 , 201
,201 , 0 ,
, 1 , 240 ,
, 234 , 163
208 , 238 ,
/ 1 , 208 ,
, £ , 230 ,
, 234 , £36
, 0 , 208 -,
, 2 , 230 -,
, 234 , 208
, 1 , £08 ,
, 2 , 230 ,
, 234 , 205
, 0 , £09 ,
, 4 , 169 ,
, 76 , 48 ,
, 169
, U
189
, 1
, 163
, 7
, 120
, 169
3 ,
163
3 ,
88
, 201
, 2
, 3 ,
£40
£40 ,
7
23 ,
76
, 30
, 141
1 ,
208
£01
, 224
£52
, 76
, 0 ,
202
£01
, £54
£ 5 £
, 76
, 1 ,
20 B
201
, 55
£ 5 £
, 76
, 0 ,
£08
£0 1
, 32
0 ,
133
£34
1 REM SUONO NELL MNTERRUFT
2 REM GIANCARLO MARIANI
3 REM V 1 RLE BRIANZA 7£
4 REM 20036 MEDA <MI)
5 REM
6 REM "B M INTERAMENTE RI LOG AB ILE
7 REM
B B = 49 1 52 * B 1=0 MB
10 FOR K =0 TO 62= READ AlPDKE 8 +K , A
20 X-X+A5MEXTI IF X <>7153 THEN PR J NT "ERRORE NEI DATA M ì
30 B2= INT< B 1/256 > =B3=B 1 -B2 *256
40 PDKE 25i,B3:P0KE £52, B2
50 ? SYS B
1000 DATA IBS, 10, 141 ,24,212 , 120, 165 ,251 , 14 I ,20,3
1010 DATA 185,252, 141,21,3,88,36,165, 197,201 ,64
1020 DATA
1030 DATA
1040 DATA
1050 DATA
240.36. 133.2. 169 .0. 141.4.212.343.5
£12, 141 ,6,212 , 168 ,£5, 14 l ,5 ,212, 163,0
141 ,6,218, 169 , 17, 141 ,4,212, 165,2 , 14 l
1.212. 141 .0. 2 1£, 76 ,49, 334
END
READY,
54 - Computer Club
Didattica
Linguaggio Macchina
(TERZA PUNTATA)
Finalmente il seguito deli' argomento iniziato nei numeri 6 e 8 dì Commodore Computer Club.
o ra possiamo “scrivere 1 T un nomerò
intero compreso tra -32768 e +32767. Ve-
diamo ora come eseguire la somma fra
due numeri decimali e (mi esatteti imalL
Facendo Ih Mimma dell'esempio qui sotto
riportato, notiamo che quando la somma
di due cifre corrispondenti supera il mi*
mero nove* dobbiamo considerare il ri-
porlo nella successiva colonna (somma
Ira 8 e 5; tra 6 e 4).
Duci mal e
E cader ima le
1 1 Riporto
* Ca r ry
162SO +
1 A03 +
4250 »
9B77 =
20530
857A
^Sk mi) imamente avviene per due numeri esadecimali . solo che
consideriamo il riporlo (piando la somma supera il numero ¥
\ 15); (esempio; somma fra A e H della figura sopra riporterai.
Prima di conlinuare ricordiamo che, in inglese* riporto si i radu-
re col termine CÀRRY, ed in segnilo lo chiameremo voi [ire iti
questa maniera. Tra le istruitili in t..\1. del 6502 ve ne situi
ben otto di somma tra due hyte. e ne esaminiamo ora una*
Codice esadecimale 69: istruzione a due byte; codice mnemo-
nico ADC* derivato da ADd, accumuldor immediate v*ith
Curry-
Esempio:
nandù il mk ruprocnwore incontra questa istruzione, esv
guc la somma tra il valore che si trova in quel momento nell ‘xn>
culti latore, 1 numero esatteci male 72 e l'eventuale Carry.
V ediamunra alcuni esempi:
LM
ASSEMBLER
mib - START
033 A 18
CLC
0338 A 9 02
LDA# *2
033 P 09 07
A0C# #7
033 f' B D 45 03
Qui
0342 60
RTS
£A
NOF
£ A
NDF
034& EA
KQP
EA
= QUI
EA
HOP
E A
MOP
LM : 69 72
Asa : ADC* 572
Computer Club 65
Suo
c 0 Ì4
RKMarks
03JA 18 Citar Carry fCLC)
Istruzione ad uri solo byte, implicita, cioè non hi* bisogno dì
indirizzi o di dati per b sua interpreta/ iurte. Questa istruzione
cancella il Larry eventualmente pronte od registro della
CPL . Ritorneremo in seguito su quella istruitone.
TI33B A 9 02 LDÀ 2. Vedi numero * di Commodore Compu-
ter Club,
(1341 60 RTS Return sub moline,
lstru/Jotii! 1 implicita anche questa: non Le bisógno di altre infoi
inazioni per specificare il compito da svolgere,
0342 EA...EA NOP No OPeretkm*
T rascr ivbmo questo gruppo di EA perche in seguito sia piu
semplice rintracciare sul video il risultato della somma. Per la
cronaca EA e un’Lstnj/ione implicita che significa' ‘"Non esegui-
re alcuna operazione"; al contrario di quanto possa sembrare e
un'istruzione molto utile, come vedremo in seguito. Per far
girare U programma battiamo di seguito;
POR E 828,2: POKE 830 J: SYS :82M
Utilizziamo un monitor, come l iper monitor pubblicalo in
questo numero:
Ruttiamo: M 033 A 034 A apparirà:
-M 033A 03 4 A
- D33A ìfi A9 02 69 07 SD 45 03
0342 60 EA EA 09 EA EA EA „
X
READY
o ra, sia modificando il monitor, sia ricorrendo a POKE X28
e POKE 830, modifichiamo il valore di 033C e di 033E e,
ripetendo le operazioni precedenti, in (1345 comparirà sempre il
risultato della somma, a meno che la somma dei due numeri
caricati non superi il valore KK; infoili, consideriamo le seguenti
somme esudecimali:
■ -
LK 4»
r^v&ct?
Infatti
OC - U dee
04 ^04 dee
04 + \2 - 16 d*c, =i0ea,
OC
+
04
= 10
40
*
GA
= 4A
0B
+
03
= 0E
*"C
+
14
= 10
AB
+
63
« OE
C
ome si può notare* allo stesso risultalo si può arrivare anche
sommando FC e 14, t ome facciamo ora a supere se il valore
contenuto in D345 e il risultalo d» una somma inferiore o superio-
re ad FT? A tale scopo consideriamo il registro rii stalo (ST i della
( PI 65(12: esso e un particolare registro di sodici 1 hit, interno
ni la € PI stessa, che memorizza diverse informa/ ioni 1 ra k q lui li
il Larry. Il bit dell SI corrispondente al Larrv . % irne automati-
rumente posto (settato) ad E se, dopo l'esecuzione di alcune
istruzioni, ira k quali Ih somma, si supera il valore FÉ. Da quei
momento esso non viene piu cancellato I rio* nettato o portalo a
«h a nelle se, in seguito, si esegue una somma che non ha riporto.
E 1
L/ccn perchè la prima istruzione di una procedura di somma
deve SEMPRE essere f’LC, che viene cosi interpretata: resetla
il C urry che eventualmente e stato posto ad l da una operazione
precedente.
Miglioriamo ora il programma in L.M. visto e. per fare
questo* esaminiamo un'altra istruzione di B RANCH l salto
condizionato ):
BL$: Brandi on (' Set lo 1 — Salta se il Curry è uguale ud E
C
od ice operai ivo: RQ w; dove xx rappresenta l'entità del
salto, vedi pag. 49 numero 6 C,l ,C i RE Marte 034 C l
0826 - STAR^
Q33A 10
CLC
A9 00
LD A3?
SD 52 03
5TA R -PORTO
A3 02
LPA^ * 2
69 07
A D •
SD 45 03
STA 5 YTL SOMMA
SO 01
3CS + MODIFICA
60
RTS
034A
® MODIFICA
LO A# # 1
8D 52 03
STA RIPORTO
60
RTS
ea
NOP
■ * » ■ * i
EA
» Or » -■
* RIPORTO
EA
= BYTE SOMMA
EA
NOP
REMarks
A 9 00
8D 52 03 - Queste due istruzioni scrivono 00 nella locazione 0352
66 - Computer Club
che servirà a visualizzare l'eventuale riporto,
UH 0 1 - Se In somma appena eseguita supera iJ valore FK. il bit di
Curry viene posto a I, e pertanto il salto di un byte è eseguito e
Tclulmra/kme Contimm da 034 A.
60 Se la somma eseguila non ha riporto, il Carrv rimane come
prima, e cioè a 0 Ufr, ist, 033 A 18); si ritorna al BASII \
.40 01
m 52 03 - Nella luca rione 6352 indicato in Assembler con
RIPORTO, viene trascritto il valore GL
I accia mo ora girare il programma nel solito modo (SYS 826 j ,
ricordando che i nuo vi ìndi rizzi deila PORLE sono 833 e 835. Se la
somma eseguila avrà riporto ri meno lo noteremo dalla presenza
« meno, di 01 in 0352,
13 alo che ci siamo, commentiamo alcune righe del program-
ma scritto in Assembler*
826 - START - Comunica al programma Assembler* defi-
nendola con il nome “START*’, la locuzione dalla quale il
programma in L*M, deve essere allocato. U programma (As-
sembler) automaticamente provvederci ad Incrementare gl* in-
dirizzi per le successive istruzioni. Ciò significa che se, per
esempio* vogliamo collocarlo nella memoria a partire dalla toca-
zkine 0355. invece che dalla Q33A, sara sufficiente modificare
solamente $0355 START; a modificare tutti gii indirizzi
pruv vedere uuttmiat kamente I* Assembler»
STA; RIPORTO- Memorizza il valore attuale {corrente I del-
! 'arcui ni ato re nella I tic azione indicata in seguito con riporto,
STA: BYTE SOMMA. Traderiscr iì valore corrente dell accu-
lulatore nel byte definito in questo modo,
BUS - MODIFICA. Se il Carry e uguale a 1,11 programmi
continua dalla tocazkme indicala come “MODIFICA”. Atten-
zione: l' Assembler elabora automaticamente Tentila dei salto,
evitando noiosi calcoli, I vari nomi di fantasia* che facilitano
nettamente la stesura di un programma* sono chiamati t V
BELS (etichetta).
ome si putì notare, il programma scritto in Assemhler e li
gran lunga piu semplice da interpretare dell'L.M. Eseguiamo
ora una somma di due numeri* ci alenilo dei quali occupa due
byte.
QecjmaJe
2CEA +
3221 =
5MB
U290 +
14891 -
Esatteci male lii
26181
In pratica, dobbiamo dapprima eseguire la somma tra gli
ultimi due byte (K A — 1 IL trascrivere il risultato da qualche
parte e tener presente l'eventuale Carry (nel caso specifico
esiste). In seguilo, sommiamo i primi due byte fra loro e l'even-
tuale Curry (20 “ 32 - 1), Il programma può essere il seguente:
CLC
LDÀ##SEA
ADC## $21
sta. lss
LDA# # $ 2C
ADC# «“$32
STA. MSB
RTS
= LSB
= ^SB
I^ rima di eseguire la seconda sómma (LDA $21 - ADC — *
432 1 NON bisogna inserire CLC* perche e necessario conside-
rare il Carne, eventualmente presente in seguito alla prima
somma. Il lettore, per esercizio* può modificare il programma
inserendo una spia* per Te ventilale secondo riporto, come
abbiamo fatto nel programmino precedente. Prima dì termina-
re parliamo di un'altra istruzione implicita: SED ($Et Decimai
mode), codice operati vu FU. Dall* istruzione successiva a SED le
somme vengono eseguile in decimale anziché in ««decimale: F8
e di notevole comodità, in molti casi: provate ad inserirla nei
programmi precedenti prima di CLC o subito dopo. Attenzione
però che, se il modo di operare è decimale e chiediamo di
sommare valori esatteci mali, sì verificano degli errori. Per ripri-
stinare in mudo esadecimale è necessario l'istruzione implicita
CLD (CLeftr Decimai mode), codice operativo l)K; senza questo
istruzione infatti La CPU continuerà sempre a ragionare in
decimale. Consiglio a chi desidera sperimentare T istruzione
SED, d i inserire 1)8 prima di ogni RTS per evitare maifunuonit-
menti del Basic.
1^ er concludere, a partire dalla locazione 0334* inserite il
seguente programma e battere SYS(826)* dopo aver cancellato
lo sc hermo.
033A
A2
00
SD
4D
03
3D
oc
cu
0342
A9
00
90
00
DB
E8
E0
18
034 A
□0
FO
60
43
4P
4D
4D
4F
0352
44
4F
52
45
20
43
4F
4D
036A
50
55
54
45
52
20
43
4C
0362
55
42
20
2A
2A
00
00
00
D ato che contiene Istruzioni che non abbiamo ancora inccHn-
tratq, lo commenteremo nella prossima puntola e non vi diciamo
a cosa serve per incuriosirv i. IJ lettore tenga comunque presente
che 034D coni iene l'inizio; da 034 11 a 036.- si può modificare il
contenuto senza alcun pericolo.., che cosa aspettate a decifrare
quest'ultimo frase?
Alessandro de Simun c
SEGUE
Computer Club 67
iao
Precisazioni
i
due articoli sull* Assembler e linguug
EÌi> macchina finora pubblicati ivedi
CX.C. N, 6 0 8j erano riedizMirn di scritti
precedenti. In tali articoli gli esempi cui si
fa riferimento sono validi per i computer
Commodore d ella serie 2000, 3000. 4000
e MIMMI. Nonostante i ragionamenti se-
guiti siano gli stessi anche per il Vie 20 e
per il Commodore 64. i listati in Assem-
bler e in L.M, pubblicati non postino
girare su tali macchine. Infatti i listati cui
si fa riferimento agiscono tutti suirareadi
schermo. Si sa inóltre che mentre per i
vecchi PET non è necessario colorare fa
celta video, tale operazione risulta indi’
s pensabile per i modelli Vie 20 eCBM 64.
In effetti gli adattamenti a questi compu-
ter li avrebbero dovuti fare i lettori sia
per esercitarsi sia per ^inventarsi” alcu-
ne routine. Numerosi lettori, invece, ci
hanno telefonato pregandoci di pubblica-
re gli adattamenti per le macchine in loro
possesso.
p
Hf non avendo alcuna difficolta ad
accontentarli, ricordiamo che Ja padro-
nanza di un settore cosi come il JLmjfcuag
gin Macchina sì puh raggiungere a patto
di lavorare con impegno da soli, realiz-
zando adattamenti e non... chiedendoli
alla Redazione delle riveste spegna lizzate.
100
1 10
1 £0
130
140
150
160
170
180
190
£00
£ 10
££0
£30
240
£50
£60
£70
PIE INT"iJ5VS 8£6 FA APPARIRE IH ALTO u
FRI NT * A SINISTRA SULLO SCHERMO DEL *
PR I NT* GOMMO DORÈ 64 UN CARATTERE t X > 1
PRINT-SELEZ IQMAB1LÈ CON dpOKE 8£7,X,
PR I NT "COLORE ( Y > SELEZ lONAB I LE CON:"
PR INTEGRE 832, Y w
AD = 82 6 s AD^= " JUAlSOS^SYS 8£6 "
i»
READ A$: IF VAL* ASX0THENPR I NT w a" AD$: END
X l =ASCt LEFT*< :X£^ASC< R IGHTSf A$ t 1) )
1FX1 >37THENXI = X 1 -55 : GOTDE20
X 1 = X 1 -48
IFXH >57 THENXS * KB -53 t GOTO240
X2 = X2-48
PQKE mO ,X1 *16+X£: AD=AD+ 1 : GOTO 180
4'
i
DATA A9 ,FF ,8D,00 ,04 ,A3,0C,8D
DATA 00,00,801. -1
1 igura l. Rappresenta l’adattamento per il
Coiti inodore f»4 dello schema di figmn Z pub-
blicata sul n Mpag 47) ih t timmudwc Com-
puter Club
READY
100 PR1NT J *JSYS 82G FA APPARIRE IN ALTO *
110 P R I NT BJ A SINISTRA SULLO SCHERMO DEL*
1 £0 PR ì NT "VIC £0 INESPANSO UN CARATTERE <X)"
130 PR INT^SELEZ IONAB ILE CON tf^GKE 8S7 ,X- "
140 PR I NT * COLORE ( Y> SELEZIONABILE CON: «
150 PRINT w rOKE 83E,Y“
180 AD = 826 : AD^= p fflHHia5YS 8£6 “
170 S
130 READ A$s |FVAL< A*>< 0THENPR INT^fl” AD* : ENO
190 XI =ASCC LEFT^EC A* , 1 > > :X£=ASCC R IGHT$< A*, 1 > > figura l/A* Idem come figura I per Vie 2£>
£00 IFX1 >57THENX 1 « X 1 -55 : GOTQE20 ìfiespanso.
£10 X 1 = X 1 "48
££0 IFX2>57THENX£= X2-55 ! GOTOE40
£3© X£= XS-40
240 POKE AD ,X 1 * 1 B+X£ * AD ®AD+ 1 * GOTO 180
£50 *
£G0 DATA A3 , FF , 8D , 00 , 1 E , A3 , 0C ,80
£70 DATA 00,86,80, -I
READY .
68 - Computer Gfute
iae
1 10
120
130
140
150
100
170
180
130
PFlMT“^rS 826 RIEMPE LO SCHERMO DEL"
FF I NT "COMMODORE 64 ISTANTANEAMENTE
PR1NT "RIPETENDO UN CARATTERE CX>"
PRtNT “SELEZ 10NAB ILE CON S^OKE 047, X"
PR INT "COLORE (Y) SELEZIONABILE CON! *
PFINT'^OKE 852, Y"
AD =826 : A P*=’“ SÈiSISl*; YS 8£6 "
4
*
PEPO fiif IFVflLC RSX0THENFR I NT * S" AD* s END
XI = A5C< LEFT£< H*, i > > SCX R IGHT^C A$,1)J
800
E 10
£80
£30
840
£50
860
870
£80
£90
38P
310
T “0
1FX 1 : 57THENX i = X i -55 ! G0T088B
X 1 = X 1 *48
1FX8 >57THEKX8= X£ -55 ; GQTO840
X£^ XE-48
POKE AD ,X 1 * 16^X8 = 1 • GOTO 180
4
■
DATA A9 ,04 ,80 ,32 ,03, A3, 00, 8D
DATA 5 1 ,03 , A3 ,00,80 ,56 ,03 , A3
DATA 08,80,57, 03, A9, FF ,8D, 00
DATA C7 ,A9 ,0C ,80 ,00 ,0B ,EE ,5 1
DATA 03 ,EE ,56 ,03,OS,EE ,EE ,52
DATA 03, EE ,57 ,03, AD, 55 ,03 ,C9
DATA 0S, CO, E 1,60, -1
Figiini 2- Adattamento per Commodore M
dello schema eh figuri! 3 dello stesso mi mero
READY -
100
1 10
1E0
130
140
150
160
170
1E0
130
£00
£10
£aC
£30
840
£50
£60
870
890
£90
300
3 10
380
PRINT'YJSYS S£S RIEMPE LO SCHERMO DEL 1 *
FRI NT "VI C £0 INESPBNSU l S THNTftfsEH MENTE
P R I NT * R IRETE ND 0 UN CARATTERE C X ) ”
PR I NT m SELE Z 1 QNfìB I LE CON ^'OKE 84 7, X"
PR INT^COLORE ( Y) SELEZIONABILE CONì 11
PR INT*fiFOKE 858 7 Y 1f
= 9 2S ~ AD* - m H&IH£i£ YS 8£6 M
rii
«
READ A*! IFVALC A* X 0THENPR 1 NT “ a" AD* : END
X 1 = ASCé LEFT*C A*, 1 > ) :X2=ASCC R IGHT$< A*. 1 ) )
IFX 1 >57THENX 1 = X 1 -55 : GOTO220
XI = XI -48
! FX2 >57TH£NX2 = XE-55 s GOTO240
K2* X2-49
POKE AD ,X 1 * 16 + X2 t AD = AD+ 1 : GOTO 180
M
DATA A3, IE, 30,52, 03, A3, 00, 8D
DATA 5 l ,03 ,A9 ,00,80 ,56 ,33 ,A9
DATA 36 , SD, 57 ,03 , A3 ,FF ,80,00
DATA 1E , A3 ,0C,8O,09 ,96 ,EE , SI
DATA 03 , EE ,56 ,03 , 00 , EE , EE , 52
DATA 03 ,EE , 57 , 83 , AD , 52 , B3 ,09
DATA 20, 00, E 1,60, -1
Figura 2/ V Idem tome Jìgur.i 2 per Vie 20
inespanso.
READY.
Compiile! Club - 69
Suo
C OM
100
1 10
120
130
140
150
180
1 70
180
190
200
2 10
220
£30
240
250
2 S 0
270
290
230
300
310
320
330
340
350
:ri
PR J NT 11 *^5 YS 326 FA APPARIRE NELLA"
PR1 NT "PRIMA RIGA 01 SCHERMO DEL 64"
FRI NT "UN MESSAGGIO IL CUI CONTENUTO"
PR 1 NT tP E 1 LUNGO 40 CARATTERI ALLOCATI *
PR I NT "DALLA LOCAZIONE 845 IN PO I * rt
FRI NT " COLORE OO S£LEZ 1 QNftB I LE CON!"
PR 1 NT M yOKE 835 /K"
ft 0=826 ! rt
YS 826 11
READ A^: IFVALC ASO< 0THEN PRINT AD*s ENO
NI =ASC< LEFT$< iXE = ASCC RIGHT3* A*, 1 ) >
IFX1 >57THENXl= X 1 -55 i GQ TO240
XI- X 1-48
I FX2 >57THENX2 = X£ -55 s GGTO2B0
X2= X2-48
POKE AD ,K 1 *16+X£* AD=AD+I * G0TO200
«i
*
DATA A2,00,BD,4D, 03, 90,00,04
DATA A3 ,0C ,30,00 ,O8,E8,E0,28
DATA 00 ,F0 , 60 , 2 A , 2 A , 2 A ,2A , 2fì
DATA 2A , 2A , 20 , 03 , 0F , 0D , 0D , 0F
DATA 04 , 0F ,12 ,85,20 , 03 ,0F ,00
DATA 10, 15, 14,05, 12 ,20 ,03, 0C
DATA 15,02,20 ,2A ,2A ,2 A, 2 A ,£A
DATA 2A,£A,2A, -1
Figura 3, La , sorpresa di questa puntala.
100
1 10
120
130
140
ì 50
1 80
170
180
180
200
£10
£20
230
£40
£50
£80
270
£80
290
300
320
330
340
PR I NT 11 iJ@YS 826 FA APPARIRE NELLA"
PRINT "PRIMA RIGA DI SCHERMO DEL VIC 20 IKtSPANSG"
PR 1 NT ** UN MESSAGGIO IL CUI CONTENUTO"
PR I NT " E 1 LUNGO 40 CARATTERI ALLOCATI"
PRINT" DALLA LOCAZIONE 845 IN POI."
FR UNICOLORE <X; SELE2 iONAEJ ILE CON!"
PR INT" flPQKE S35,X"
AO-826 * RD* !
TS 8£6
READ A$! IFVALt A*X0THEN PRINT AO*:END
X1=ASCC LEFm A*, ì > M X2 = ASC< R I GHT*< A* , 1 ) >
I FX 1 >57TH£NX 1 » X 1 -55 ! GOTO240
Xl= X 1 -43
1FX2>57THENX2= X2 -53 ! GOTO2S0
X£ * XE-43
POKE AD,X 1 *16+X£t AP*AD+ 1 i 6OTO200
m
■
DATA A£ ,00, BD, 40 ,03,30,00, 1E
DATA A3 ,0C ,3D ,00 ,96 ,EB ,E0 ,18
DATA D0,FS,60,03,0F ,0D,0D,0F
DATA 04 ,0F , 12 ,05 ,20 ,03 ,0F ,00
DATA 10,15, 14 ,05 ,12 ,20 , 03 , 0C
DATA 15,02,20, -I
Figura 3/À. Come figura 3 per il Vie 20.
READY,
70 - Computer Out
File Relativi
1 4 i menzione di questo articolo e quel-
In di rendere chiaro a chi, o vuoi per
mancanza di letteratura specifica o vuoi
per la stringatezza dei manuali che solita'
mente accompagnano il IBM 64 e perire'
riche annesse, non ha avuto modo di po-
tersi avvicinare alla struttura /ione dei file
relativi, trattati dal DOS del CHM *4 e
alla program inazione di routine die im-
plementino le istruzioni inerenti alla ge-
stione dei file lo archivi) relativi.
I miriamo innanzitutto col dire che un
file è una struttura dì in forni a/ ioni di
natura alfanumerica immagazzinata nel-
la memoria di massa dì un elaboratore,
(generai mente supporti magnetici come
ad esempio, nastri o dischi!. 11 Singolo
elemento del file viene denominato re*
cord, a sua volta il record può essere divi'
so ìn piu parti elementari chiamati campi,
(se non avete ancora le idee confuse, il
singolo campo può essere diviso in sotto-
campi ).
ita pilotando, il nostro file e un aggre-
gato di record, il record e un aggregato di
campi, pertanto, se consideriamo il no-
stro file come un insieme, i record sono i
sottoinsiemi appartenenti al file ed i cani'
pi i singoli elementi del record.
fimi» 1
rampo J
■» ■ ■■
campo n
KtroH
f 1 aeriamo un esempio concreto jwr
consolidare ciò che abbiamo appresi* situi
ad ora.
Consideriamo l'esempio ormai classico
della rubrica telefonica, II file sarà quindi
La rubrica ed «SO conterrà le informazio-
ni che possono essere; cognome, nome,
indirizzo, CAP, citta e telefono. Il record
sarà cosi composto:
Record
«tfjnomr
nome
IwHi-tDM
i ap
filli
ikMmo
t ampn l
campo 2
u
...europei fe
asciamo ora a descrivere come tali
archivi vengono memorizzati sui dischetti
magnetici. Oramai tutti sanno che un di-
schetto e composto da tante tracce con-
centriche t J5. nel caso dei dischetti utiliz-
zati dal CRM 64) ed ogni traccia e suddi-
visa in settori. Consideriamo una traccia
rettificata;
b*TKVOt
fUoctti 2
blocco 0
O gni settore prende U nome di Noceti e
v iene individualo da 2 pararne! ri, Nume-
ro della traccia c numero del settore. I n
blocco e composto da 256 byte ma usando
gli archivi relativi, un singolo biacco pilo
con le nere al massimo 254 byte di infot %
inazioni* gli altri 2 servimi» al DOS per
conoscere f indirizzo del prossimo blocco
dati (traccia e settore), \ediamo ora di
capire che differenza sussiste fra it record
logico e il record fisico, Issiamo consi de
rare tome record logico il record poc'anzi
visto. costituito da cognome, nome, ecc, ,
e* come esso, ogni altro tipo di record che
piu ci aggrada. In definitivu il record logi-
co viene creato dal programmatore. Si
definisce reccifd fisico La piu piccola
quantità di informazioni che può essere
passata dalla periferica all’elaboratore o
viceversa,
j^Jel nostro case il record fisico è pro-
prio il famigerato blocco. Il DOS, infiliti,
scrive nel BliHR dì I/O rifilerò conte-
nulo del blocco: saremo noi a prelevare la
quantità dì dati che interessa. Cosicché in
un blocco si potranno scrìvere più record
logici od un rmurd logico avente lunghez-
za pari al record fisico steiìso. \ questo
punto e bene capire come mai il massimo
di numeri caratteri che pun contenere un
singolo record logico di un file relativo sìa
254, t vedremo in seguito come superare
questa limitazione ,i. Poco fa abbiamo ac-
cennato ai Rt FFER di I/O* Essi non sono
altro che una zona di memoria RAM.
interna al 1541, di lunghezza pari a 256
byte ognuno. Servono per memori/, /.are
temporaneamente ■ dati che transitami
da il Elabora ture al drive e viceversa iPri
struzioiie OPEN fa si che venga assegnato
un RI t'TER di I/O al file aperto).
Computer Club -71
5BO
]P er creare un File relativo occorre come
prima operazione» definire La lunghezza
def record {logico»; supponiamo d* avere
Ja nostra agenda telefonica con i seguenti
campi:
poterci scrivere o leggere si useranno le
conosciute istruzioni LNPL (’ f t PRLMif
e GET#* Per aprire ul file relativo già
esistente La sintassi del cornando OPEN e
ancor» più semplice:
CURSiHI). Valgono le seguenti
formulette:
HI INT(nr, RECORD/256);
LO := nr, RECORD - Iir2S6;
cognome
caratteri := 20 (campo 1)
nome
caratteri := IO (campo 2 1
indirizzo
caratteri ;= 25 (campo 3)
C.À.P.
caratteri ;= 5 (campo 4»
città
caratteri := 20 (campo 5)
telefono
caratteri:— 12 (campo 6)
TOTALE
caratteri : = 92 (record !
o gnl campo dovrà essere fisicamente
separato dall'altro interponendo fra di
essi un CARRI AG E RETURN
lchr$(13)), quindi, nel conteggio totale
dei caratteri del record dovranno essere
sommati i riiftt 13), uno per campo, Il
nostro record sara lungo 924-6—98 carat-
teri. Esaminiamo adesso la sintassi del
comando di apertura di un file relativo:
OPEN FLtDIiCL v '*NOME FILE"
differenza dei file sequenziali, in un
file relativo, una volta aperto, vi ci si può
indifferentemente leggere o scrivere ed in
qualsiasi suo punto. Facciamo ora cono*
setm/a con i SIDE SECTOR:
Sappiamo che un file è un aggregato di
record logici. Ogni record interno al File
può essere individuato da un proprio nu-
mero d'ordine o indice posizionale, Cia-
scun record logico verrà scritto in blocco
di memoria di massa, ma il blocco è indi-
vidualo da 2 parametri. Sarà quindi 11
DOS a stabilire la corrispondenza, (biu-
nivoca 1, tramile i SIDE SECTOK. fra il
numero del record e relativo indirizzo
fisico di memorizzazione. In un blocco
possono entrarci anche più di un record
logico (ricordale?) quindi tl IH)S terra
conio anche di record spezzati su 2
blocchi.
CHR$( PU NT ÀTOR E) punta al carattere
del record.
M citiamo in pratica quanto e stato
detto sino ad ora.
Approfittando dell’occasione vediamo di
crearci qualcosa di utile. Rubriche telefo-
niche ce ne sono troppe e un data base è
un pochetti no difficile dì primo acchito.
Potremmo costruire un archivio che me-
morizzi le prave HARDWARE apparse
iulle riviste italiane, cosi evitiamo di met*
ìere ogni volta a soqquadro la nostra li-
breria nel tentativo di riuscire a trovare
quanto cercato. Il nostro record avrà
dunque il seguente tracciato:
titolo artìcolo caratteri := 30
nome rivista caratteri : = 20
numero rivista caratteri 3
OPEN EL.I>lXL,"NOME
EILEX,' +CHRSI LI NGH.REC.)
EL : = numero del File logico (da J a
127);
Df : = numero del dispositivo, norma!-
mente fi;
Cl, := numero del canale, (pud awu-
mere i valori dà 2 a 14 1 ;
NOME FILE e ovviamente il nome
del file;
,L, ;= indica che il file e di tipo relativo:
IHRS(LI N) := e la lunghezza in carat-
teri del record, (compresi i chrti 13)).
a. SIDE SECTOR sono fisicamente dei
blocchi di memoria di massa che coiiten*
gono sia ['indirizzo di altri SIDE SEC*
XOR che l'indirizzo dì inizio di 120 blue*
chi di dati. Ciò vuol dire che associati ad
un file con piu di 120 blocchi ci sono piu di
1 SUI E SECTOR e possono essertene fi-
no a 6, (che equivalgono a 720 blocchi di
dati. E' chiaro che se ne potranno utiliz-
zare solamente 65fL 664 blocchi Uberi - 6
SIDE SEf TORI. Per passare al DOS il
mimerò del record esiste una istruzione
apposita:
TOTALE caratteri 53
numero CHR$( 1 J) ;= 3
TOTALE caranerl^;— 56
ÌVf
A v E orale: abbiamo creato il nost ro flk t
ed il DOS ha predisposto in memoria lo
spazio sufficiente per 256 record (lìnea
250 k In seguito, questo spazio potrà
anche essere espanso. ( Figura 2)
li e ne: abbiamo concluso il program-
ma» esso chiaramente ha moltissimi
limiti.
Il primo è quello che bisogna ricordarsi il
numero dei record prima di cercarlo ma.
credo che riuscirete da soli a creare una
chiave di ricerca con 2 vettori. 1 per la
chiave ed I per tl numero del record
corrispondente.
N.B. (/istruzione “PRINT #" ‘non può
essere abbreviata con 4 *?’\
Dal momento che viene eseguito 11 co*
mando OPEN, il DOS annoterà nella di-
rectory il nome del file specificando che è
di tipo relativo. La traccia ed il settore di
inizio del primo blocco di dati» la lunghez-
za del record, l'indirizzo del primo SIDE
SECTOR (vedremo dopo cos*è> ed altre
cosucce che per ora non ci riguardano .
Una volta che U file e organizzato, per
PRU^T^ f FL» 4 *F ,, CHR$(CANÀLE)CHR
$( LOK T IR ti HI )C HK$( PUNTATORE )
O
uestu comando va inviato al canale
comandi pertanto occorre prima scrivere
OPEN ET, JL 15. Dato che i record posso-
no essere più di 256 non Inasta un byte per
individuare un record, occorrono quindi
2 byte ed e per questo che nella sintassi del
comando troviamo CTfRS(LO) e
72 * Computer Club
100 REM **** UTILIZZO Ut L FILE RELATIVE *** +
110 REM **** DI NO hE HARD - TEST ****
120 :
130 FRI NT * hJI NKER I SC 1 IL DISCO CONTENENTE
140 PR1NT-IL FILE HARD -TEST E PREMI UN TASTO"
150 SET IF X** " * THEN 150
160 OPEN 2 ,B,E, 11 HARD -TEST"
170 OEF FN AOO = INTC X/S56 > 5 REM NUMERO RECORD HI
130 DEF FN B< Y?=Y-Hi*256 ! REM NUFERO RECORD LO
I 00 OPEN 1,0,15
200 :
210 REM MENU PRINCIPALE
220 :
230 PR1NT"*JHS| MENU 4 '
240 PR INTIME» t 1 ] - FINE LAVORO *
250 PR I NT 41 flH t 2 I - LETTURA FILE"
260 PR I NT " liti 131 - SCRITTURA FILE"
£7© PR INT" SCEGLI " ;
280 IMPUTA: IF A >3 OR A< 1 THEN 280
£80 ON A GOTO 320,360,490
300 :
310 REM CHIUSURA LAVORO
3£0 CLOSE £: CLOSE 1= END
3 30 :
340 REM LETTURA RECORD
350 :
3S0 PR INT VJflttM " i INPUT "NUMERO DEL RECORD ! = “ ; NR
370 IF NR >256 OR NR< 1 THEN 360
390 H I “FN A<MO=LO=FN BC NR )
380 PR INTM I , "P"CHR$< 2 JCHR^< LO >CHR^ H I >CHR^ 1 ) i GOSUB650
400 INPUT#2,F 1* r F2$,F3$iGOSUB650
4 10 PRINT u |mriOhE ARTICOLO > "!FL$
4 20 PR I NT " BINO ME RIVISTA > ";F£*
430 PR 1 NT "U^UM * RIVISTA > *;F3$
440 INPUT "ÌISI5FREMI a< RETURN >5"; AA
450 GOTO 230
460 i
470 REM SCRITTURA RECORD
480 :
480 INPUT" . JgUttMM U MERO DEL RECORD S = " J NR
500 H1=FN A<Ff^>:LO =FN B< NR >
5 10 PRINTtt 1 , "P"CHRS< 2 JCHR2* LO>CHRS< HI >CHRSC 1 > ? GQSUBG50
520 INPUT "aSMHHWJCME ARTICOLO > “JF1S
530 IF LEM <F1*>>30 THEN 520
540 INPUT *«140ME RIVISTA ---> ";F2^
550 IF LEN <F2*?>20 THEN 540
560 INPUT "BNUM. RIVISTA > ";F3*
570 IF LEN (F3$?>3 THEN 560
580 I NFUT n IMft /UQ I CORREGGERE <$SN> m ì Y*
590 IF YT - 41 S “ THEN520
Computer Club - 73
800 PR INT#2,F 1S;CHR3K I3>;F2$;C 1 3 > J F3* = GQSUB650
810 GOTO 230
620 *
630 REM CONTROLLO ERRORE DI INPUT DA DISCO
840 t
850 INPUT# 1 ,A ,C
860 IF A*0 OR A -50 THEN RETURN
670 PR J NT Pi, A*
890 PR INTUITINE PROGRAMMA PER ERRORE "
690 CLOSE 2: CLOSE I
READY,
100
1 10
120
130
140
150
160
REM ***** FILE RELATIVI *****
j
REM
REM
REM
REM
***** CREAZIONE DI UNO SPAZIO****
***** SU DISCO ALLO SCOPO DI ****
***** ' OSPITARE IN SEGUITO ****
***** 256 RECORO LUNGHI 56 B * * * * *
170 i
160 REM CREAZIONE DI UNA STRINGA - CODICE
ISO FDR 1^1 TO 55 2 NEKT
280 OEF FNAC X ) = I NTC X/256 ? i REM CALCOLO DI HI
SIO DEF FNB{ Y ) a Y**H I *256 : REM CALCOLO DI LO
220 OPEN 1,8, 15! REM APERTURA CANALE COMANDI
230 REM LUNGHEZZA RECORD ^56 COMPRESI CHRS< 13 >
240 OPEN 2 , 8 , 2 , "HARD-TEST ,L, "+CHR*< 56 >
250 POR 1*256 TO I STEP-li H I = F NA C I> = LO = F NB ( I ■
260 FR I NT# 1 , " P " CHR$< 2 >CHRS< LO>CHR*< H I >CHRSt 1 )
870 PRINTK2, CA$s GQSUB 300
280 PRINT "RECORD N," Is NEKT
230 CLOSE li CLOSE 2i END
300 I fPUTK 1 ,A ,C
3 ì 0 IF A =0 OR A -50 THEN RETURN
320 PRINT A,A$
330 PRINT-aiL PROGRAMMA TERMINA IN ERRORE* ? END
READY,
74 - Computer Qub
Commodore 64
Il Gioco del 15
v
Simulazione del solitario
dei vecchi tempi .
kJ ui ritiro appare, se avete trascritto
tutto correttamente, una griglia dì 4 x 4
caselle, quìndici delle quali contcn^m],
appunto, casualmente i numeri da I a 15,
Il gioco consiste nello spostare le tessere
fino a che non sono ordinate come nei
REM delle righe da 170 a 230,
m-^i sufficiente indicare il valore della
tessera che si desidera spostare nel punto
vuoto.
Vito Ascoii - Napoli
100
REM
*********************************
1 10
REM
*** GIOCO DEL 15 PER C 84 ***
180
REM
t** DI ASCOL I VITD ***
130
REM
*** Viri ENRICO RUTA 1 ***
1 140
REM
*** NAPOLI TEL » OS1/41E507 ***
150
REM
*********************************
160
*
■
170
REM
E * NECESSARIO ORO INARE LE
LS0
REM
CASELLE PEL MODO SEGUENTE i
190
«
800
REM
15 3 13
8 10
REM
8 6 10 14
880
REM
3 7 11 15
Computar Oub * 75
330 REM 4 S i£
340 ;
360
370
£80
£90
PRINTCHF*< 3 ) *DIMNC 4 ,4 >
K^«: 3}~
I" 1X*( 4 >
*
*
300 REM +* STAMPA DEL QUADRO Di GIOCO **
330 PRINT-LOS
330 PRINT™ A GIOCO DEL QUINDICI B
330 PRirsTr” — ££"
340 PR 1MTSPCC U >“ « 1 r — — j 1 *
350 FOR 1 = 1T04 : PRIMTSPCC 1 1 >
360 FQRJ* I T04 i PR INT" \ "}ìf^XT
370 PR INI 1 | "
330 PRINTSPCC i 1 > *• | [ \ 1 |"
330 NEXT
400 PRINTSPCC 1 1 > "O 1 1 1 1 — — 1+1
410 MOSSE = 1
430 REM: PROVA* K = I : FORI = 1 TQ4 ; POR I T04 : NC J , I ) =K
430 REM NC J , X > =K J K “K + 1 * NE XTJ , 1 1 N( 4 , 4 ? = 0
440 :
450 REM ** INIZIALIZZAZ IONE CASUALE **
460 FORK = 1 TQ \ 5
470 I e INTC RfCK I > *4 + 1 > : J-ÌNTC RNDC 1 > *4 + I >
4S0 IFNC 1 ,J )< >0THEN4 70
490 N< I , J ) =K
500 T'tXTK
510 :
5£0 GOSUB 1060: REM POSIZIONAMENTO NUMERI
530 :
540 REM ** RICHIESTA N-MA MOSSA **
550 PRINT H Sma (— , ■
560 PRIMT* | BATTI LA TUA MOSSA N * “ ; MOSSE : PR I NT " Q" SPCC 33 > " i “
570 FRI NT " 1 *
580 INPUT* H ; M$:MfiVALC M^>
590 REM ** SOLO NUMERI TRA I E 15 **+
600 IFM >0ANDM< J6THEN630
610 PR I NT "O
6£0 PR INT' Trrr SFC't S > - a SOLO NUf«RJ DA I A 15 1 *
630 FORT* ITO 100B : NEXT
640 PR 1 NT "tnxm]" : GOTO 550
650 :
666 I
670 REM ** ALGORITMO CENTRALE * *
680 FOR I ■ 1T04:F0RJ=1T04 : IFN< I , J ) a MTHEN700
630 NEXTJ,I
700 11=1+1 S JJ = J : GOSUB370 ì IFF=1THENB£0
710 I 1*1- 1 I JJ= J : OOSUB970 : I FF = I TMEN880
7E0 I I » I * JJ =J+ 1 » GQSUB970 ! IFF=XTHEN820
730 1 1 = 1 * : GOSUB970 i IFF=1THEN8£0
76 - Computer Club
740 :
750 REM ** MOSSA NON LECITA **
7S0 PR I NT “ □ M
770 PR I NT " CHI" SPC( Sì * £ MOSSA NON LECITA ■
780 FORT = 1 TOE000 ? NEXT
790 PR INT TTI 1 1 I II '* ; GQTQ550
B00 ;
810 REM** ESECUZIONE MOSSA RICHIESTA **
820 NK I , J>=0:NC 31 , J J ) «Mi MOSSE “MOSSE ♦ 1
830 !FM< 3 # 4 > » 1 5ANDN< E J 4> = 14ANDNC 1 ,4) ù 13THEN850
640 30X0910
850 I F N< 4,3)“ 1 EANONt 3 ,3> = 1 lAhDNC £,3)-10ANDN< I , 3 ) =3TH£N©70
660 GOTOB10
670 IFfSK 4 ,2>=8ANDNC 3 f 2>=7AN0N< £ ,S > = 6ANDNC 1 ,2>^5THEN890
880 GOTO910
890 IFNK 4 ^ 1 >=4AN0NC 3, 1 >=3ANON< E , 1 ?*EAM3N< 1 , l > * 1 THENi 160
900 REM ********* VITTORIA ***********
910 PR INT*a“ t SOSUB 1060
SE0 PRINT* BKESKDffl®J*SPC< 1 1 > " CIIIIIIIT 1 e GQTO550
930 »
94 0 :
950 REM ** CONTROLLO LICEITÀ" MOSSA **
960 REM ** < SE F= 1 MOSSA CONSENTITA) **
870 F =0
980 IF I K lOR 1 1 >40RJJC 1 OR J J >4THEN10i0
990 1 FNt I I , JJ X >0THENI0 10
1000 F®1
1010 RETURN
1020 *
£ 030 t
1040 REM ** POS IZ IQNAMENTO DEI NUMERI **
1050 REM ** NELLE RISPETTIVE CASELLE **
1060 PRIMT w afflDttÌ B :FDR 1 = 1TQ4 SPRINT
1070 FQRJ=1T04
1080 IFH< I , J ) =0THENPR 1NTX*< J ) " " sGOTOl 100
1090 PRINTX*< JP/FK I , J>
1100 NEXTJ
i 1 10 l^CXT I
1IE0 RETURN
I 130 *
1140 !
II 50 REM ** FINE DEL GIOCO #*
1160 GOSUB10G0
1170 PR iNT M 5KBCM j a HAI VINTO IN" ; MOSSE "Il MOSSE ■"
1180 PR INTIMI VUOI GIOCARE ANCORA? <SSN>*
1190 GETA*i IFA*= * “THEN1 190
1E00 I F A$ s "N n THE NPR 1 NT " *END
1 E 1 0 IFA3K >“S"THEN1 £90
1E20 FOR I - 1TG4 J FGRJMT04 i Nt I , J ) -0 - NEXTJ i NEXT I - G0T03 10
READY*
Computer Club - 77
Commodore 64
Space Defender
100 REM + * SPACE -DEFENDER PER CBM 64 **
113 REM **■ JOHN CERESI , VIA MAZ2IN1 **
120 REI i ** 18016 Sr BARTOLOMEO AL MARE **
130 REM ** TEL. 0133/400030 **
140 :
15B TS=B : 0=54£7£ : T»=0 : JO*0
160 DEFFMR< X>«1 144+40*< INT< RND< 0>*£0> ) :GOTG700
170 PRINT" J" ! P0KE5328 1 , 3 2 : N= 1 464 i F =55736 s SC =0 : D=5
180 PRlNT '&Jd ■" 1 PR lMT''ayUNTEGG IO s "JSC
130 POKEN.30
300 I =FNR( X> i J*FMR< X> : K =FNR( X > :H=FNR< XI
£10 1FH= rORH»JORH<=KOR 1 = JORJ =KTHEN200
£20 POKEH ,63 tPCKE I ,42 ’ POKE J ,60 ! PGKEK ,42
£30 REM ** INPUT TASTIERA**
£40 JFJOM00THEN1 100
£30 SETF*s IFA¥= "«I* THEN300
EE3 IFAS= “t ''THENP0KEN.3H iM = N-40 : F =F -40 : COTO530
£70 IFA*=* , a , ‘THENPOKEN,3£ : N=N+40ìF =F +40 i GOTO530
238 L-L+ 1 : IFL< OTHEN240
290 H=H- 1 s 1 = 1- 1 1 J«J-1 : K =K - 1 :L=0
300 1F< H - 1 324 )/43 = INT< ( H= 10£4 >/40 JTHEN360
3 10 I F< I - 1 024 >/40 = ! NT\ < 1-1 024 ) /40 > THEN560
3£0 1 F< J + 10£4 )/40= INT< < J- 1 024 1/40 1THEN360
330 JF( K- 1024 >/40 = INT< < K- 1024 >/40 )THEN560
340 POKEH + 1 ,32 s POKE I +1 ,32 i POKEJ+ 1 ,3£: POKEK + 1 ,32
35Q POKEH ,60! POKE I ,60: POKE J ,60
360 POKER ,60: POKEH +0 ,2 i POKE I +0 ,2 i POKEJ+O ,5 : PGKEK +0 ,2
370 GOTO240
3S0 REM +* CONTOLLO SE HO COLf ITO IL NEMICO **
330 FORM=£00TO£20t POI I" >0,1: POKEN+0,£ : NEXT
300 IFH >NFtNDH<N+4QTHEN450
410 IFI >NRND I < N+4OTHEN460
4£0 1F J >NflNOJ<N+40TH£N470
«■130 JF K >r*=sFDK<N+40THEr-i4S0
4 40 SC~SC“5s GOTO 5 00
=>
450
4C0
4 70
43D
430
8=H f H"FNR< X ) IGOTOS50
B= I : I-FNROO IGOTOS50
B=J s J= FNR< X) : GOTO950
8 ~K ! K, =FNR< X ) ? GOTO 9 50
5C “SC + 10
508 PR 1 NT " Jt Ja a"spRXNT"M a UNTE05l0 = " j SC
510 IFSC >500 THE NO =0
520 GQTO240
530 IFKK 1 104THENN= 1 104
540 I FN> 1 994 THE MN- 1934
78 ■ Computer Club
550 PQK.EN, 90 : POKEN+O ,0 SGOTO240
560 FORC =55377TO56E75STEP40 ! POKEC ,£ s NEXTC i FORC= 1 TO 1 00 ; NEXTC
570 FORC=55377TO55275STEP40 s POK.EC , 1 i NEXTC
580 REM **FINE GIOCO**
590 PRINT'^INE GIOCO"
600 FORC= ITO 10O0 SNEXTCSP0KE53281 ,6 : POKE53280 , 14
610 PR 1 NT " . JWOMF 'LINTEGG IO FINALE = " } SC ; PR INT" **M "
GEO 1FSC >TSTHENTS=SC
630 PR INT“PUNTEGG IO MAX * " ; TS
648 pr i nt - h. «ma e ioghi ancora (y.w
650 GETA*! IFA*=» " "THEN650
660 I F A$= * Y " THEN 1 70
670 I FA*= *'N" TMCN830
630 GOTO650
630 REM ** INIZIO**
700 P0KE53E81 , 1E :PR INT“w»" i PR INTTA8< S) J " SP ACE - DE F E NOE Rfl "
710 PR INTTAEK I3> "BY JOHN"
7S0 PR I NT “ SEFREM 1 t PER ANDARE SU ' s PR INT "PREMI CRSR GIU’ PER ANGARE Gl
730 PR INT" SCREMI F7 “SPRINT "PER SPARARE"
740 PR INT" airi ENI LONTANO GLI INVASORI"
750 PR INT" DAL TUO SPAZIO"
760 PR 1 NT " OSM-' I G I A UN TASTO PER INIZIARE"
770 IFPEEKv 197) =64THEN770
780 GOTO 1040
790 REM ** SPARO LASER**
800 POKE54E96 ,25
610 P0KE54S77 ,80
320 P0KE54278, 175
330 POK.E54276 , 33
340 FORZ = 1T07S P0KE54273 ,RNO< 1>*£56:NEXT
850 P0KE54276 , 32
860 P0KE54H96 ,0
870 GOTO 330
880 REM ««FINE GIOCO**
890 PRINTTA8< 14 > "BD*: I AO ‘
900 PR INT i FGRP = 1 TO50 ! NEXT : T=T + 1
9 10 I F T =20 THEH3 30
9E0 GOTQ300
930 PR INT *tj a : EMD
940 REM **SCIA LBSÉR + +
950 FOFW= 1T0< B-N)
SB0 P0KEF +y ,0
970 FOKEN+W,45lPOKEN+W- 1
980 FOKEN/90
9S0 NEXTW
1000 POKEB , 102
1010 FOKEN + 40/3E
1020 POKEB , 32
1030 GOTO490
3E
1040 FR INT* J8H ON CHE COSA PREFERISCI GIOCARE ! "
1050 PR INT "UUjOYSTIK, (1)0 TASTIERA <J O T> ?"
1060 GETA*s IFA*= “ "THEN106O
1070 IFA#= "J "THENJO= 1 90 s GOTO 170
1080 IFA*=*T"THEN1?0
1090 GOTO 1060
1 100 SS*NOTPEEK( 5632 1 )AM3 15 ! FF =PEEK< 563E 1 )AND16
1 1 10 1F< SSAND1 >THENPOKEN,32»N-N-40 iF=F-40 i GOTO530
1 120 IP< SSAND2>THENPOK,EN,32iN*N+40!F=F+40:GOTO530
1130 IFFF =0THEN600
1140 GOTOS80
READY.
ComputsrClub - 79
Vie 20 Inespanso
Labirinto
Un simpatico gioco basalo sulla
nde finizione dì alcuni caratteri*
1 1 programma gin* sulla ronfigli razione
dd Vie 20 ìnespam ed occupa tutta la
memoria; quindi, durante la copiatura, si
consiglia di tralasciare le REM all’ inizio
del listato in modo da evitare messaggi dt4
tipo OUT OF MEMORY*
I l gioco consiste nel riuscire ad aprirsi
un varco in mezzo ad un labirinto! forma-
to da caratteri a forma di blocco di ce-
mento, in modo da raggiungere una delle
15 REM LABIRINTO VIC E0 IhCSPANSO
S0 REM BY PIETRO PINO
30 REM VIA MAMELI 3 -MILANO
40 REM TEL. 735763
95 GOTO9000
97 D I MM< 4 >
100 !
I 10 P0KE36S7S,BiP0KE3687S , 1 5 i POKE36069 ,834
1 15 LE®LE + 1 ISP-3IMC i ) =-££ * P-K E J - 1 !MC 3 ) «88 iMC 4 ) |
1£0 FL^aiPRlNT-
130 FRlNT“*-,EVELi*r gJSCORE t S 000000 Gl"SC
131 PR INT**HOTS 4* 0 ***
1 33 I FLE >GTHENLE -B
135 FORK» ITOLE tPOKE7880+ei^K, I38shEXT
j 140 S*7680+B8
150 FORK-STOS+417
180 IFRMDC l >*100X 60-LE*4 )TNENPOKEK^0
183 ISEXT
167 GOTOE000
170 CH* 1 lTl*- ,, 000008 ,, ■
18© P*7954
185 POKEP # CH
130 PR INT rt »“SPC< B > •tf“TI*
195 IFTI*> 11 000059 “TMErsFRI NT* fcJgSAI^E OVER * « EN O
£00 T«PEEKf I 97 >
bandierine poste sui quattro lati dello
schermo entro un minuto di tempo. Per
aiuuni, m hanno a disposizione tre
proiettili con cui è possibile abbattere dei
blocchi e liberarsi rosi un passaggio*
Anche alia fine di ogni labirinto, al pro-
prio punteggio sì aggiungono tanti punti
quanti sono t secondi avanzati; inoltre il
livello di difficoltà aumenta ad ogni Labi-
rinto, stabilizzandosi solo dal sesto labi-
rinto in poi*
D tirante il gioco, nella parte superiore
dello schermo compaiono varie informa-
zioni? tempo, punteggio, numero dei labi'
rìnti e numero dei proiettili a
disposizione.
P er muoversi si adoperano 1 tasti: *V 7
(rotazione a sinistra); *V T (rotazione a
destra!; “Z” ( per avanzare di un passo)*
***** per sparare*
Ed ora, buon divertimento.,,!
■
Pietro Pino
Vìa G. Mameli, 3
20 129 Milano
80 - Computer Cfuo
2 10 I FT =29THENCH =CH- 1 * PQKE36876 r 200 - IFCH< 1TH£NCH=4
E 1 5 IFT = 37THE:NCH=CH+ I : PGKE3687B ,2 10 i IFCH >4THENCH= 1
220 IFT «33THENS00
230 IFTM4fìNDFL*0THENGQTO30 10
23 1 POtt£36B7G f 0
E33 FORT- 1TQ88 i NEXT
235
500
505
528
527
530
540
£000
20 ! 0
£020
£025
2030
£040
3010
3020
3023
3025
3030
3040
3043
3045
3046
3050
3053
3055
6000
6005
6007
6810
6020
8025
6030
6040
6050
3000
3805
30 10
3020
8825
3030
3040
8045
3050
3055
3068
FQK E 36S76 , 8 f GOTO 1 85
REM MOVIMENTO
P 1 *P
P =F +M< CH > l GOTO 52 7
I FFEEKX P ) *5THENG000
I F P >5 + 4 170RP< SORPEEK< P>< >32THÉNP =P CH > :G0T0185
FORT- i TO50: NEXT: POKER 1 , 33 : P0KE36876 , 1S0 = GOTO235
POKES + RNCK 1 > *22,5
FOKES+C I NT< RMD< U * 18> >*22 ,5
POKES +< INT< RNO< 1 >♦ 18 > > *82+2 L ,5
POKES+ 1S*££+RND< i>*22,5
GOTO 170
R=MC CHJìPJsF
I FFE EK< P 1 +R > -0THEN3040
I FF 1 + R< SORP I +R >S+4 17THEN3053
POKEP 1 +R ,42 i FORT = 1 TO70 i NEXT ! PDKEP I + R , 32 *
P l »P 1 +R : OOTO3020
P 1 *P 1 +R
P0KE36877 ,200
FORL = I TO 15 s POKER 1 , 1 02 : FORT = 1 TO 1 0 * NEXT : POKER 1 ,32
FORT = ITO 10 f NEX TiP0KE3687S , 15-L * NEXT
POKE36877,0 :P0KE3687B, 15:
SP*S P- 1 : IFSP=0THElsFOKE774 1 , 1 60 ? FL- 1 : GOTO 190
FORK- 1TOSF SPOKE7740+K , 42 + 1 23 : NEXT : POKE7740 +K , 160: GOTO 130
T$-RIGHT*< TIS »g ) i PR 1 NT *' » JffllM ■ TftB< 9 > ■*< *«7*»* > h
PR INT-ffiTTrìBC 8> "aBECOND IS"
PRINT"Jtty"TFsB< 8? \SEONUS : “
PR INT " HH" TflB< 6 > " *0- 'T*" *"60-VflLC T$>
PR INT W MS W TRB< 3) m \ P
PRINTTA8* 3) '| TIENITI PRONTO» f”
PRINTTRBC 3}"\ J n
SC =SC +60 - VRLC T^>
POR T= 1 TO5000 : NEXT f GOTO 1 00
P0KE5S ,24 IP0KE52 , £4 : FORK ~0TO 1 32 *8 - 1
PO KE6144+K ,PEEKC 32768+K > ; NEXT
REROQ
I FQ - - 1 THEN9040 f
P0KE6 1 44 + W,Q ' U s UJ+ 1 16OTO9020
POKE3636S ,254 *
GOTO 100
0ATAG3,67 ,255 ,135,135,135, 134,252
DATA© ,28 ,8 ,8 ,93 , 93 ,127 ,65
OATA0 ,240 , 64 ,114,127,1 14,64,240
9065 OATA65 , 127 ,93,93,8 ,8 ,28,8
9070 OATA0 , 15 ,2,78,254 ,78 ,2 , 15
3075 OATA 124 ,60,28,60, 124 ,4 ,4 ,4 , - 1
READY.
_
t
Computer Out? - 8 1
Commodore
Sintetizzatore
Sonoro
J I programma trasforma il Commo-
dore 64 in un perfetto sintetizzatore
offrendo, inoltre, la possibilità di sce-
gliere il suono piu gradito, I tasti da
usare riguardano la fila dei tasti che
va dalla lettera -A» aJ simbolo
+ >■ , mentre nella fila superiore vi
sono \ diesis,
olendo usare una scala con suoni
piu bassi di una ottava, si digita il
tasto SHIFT insieme al tasto della
nota, li volume si regola con l tasti dì
funzione ( FI, F2, FJ, F4j. Per creare
un effetto di sustaim digitare il tasto
-a Per eliminarlo, sì usa il tasto
di un registro qualsiasi.
Cisi riparali) (.'alafKìre
L go I Da \ ina. I Motualicn | In]
100 FEIV 1 ! 0 M H ODORE o A
: t r noi" — — —
\*3 REM" Gl BAROLO GBLriF IDRE
130 REM”
140 REM" TEL 31 1*805 10 98
150 REM"
1££ K E K " - -MOGGI OD ND 64--
170 REM*
130 REM" ”
130 PR IlsrT B U ^P0KE53£Sl ,01 F0KE533C0 # 0
?0G p MJOQSOUND 64 ******
310 rr.riiT" - -
3 £3 PRfN~:PR INI : PR I NT : BOTO 3 l 0
t i — *7»4 ,10
1^0 ~n^L-STQ3+£4 s POKEL . D : NEKT
£50 PGKES+E4,7
336 GET?$
E70 ÌFZ*- "^^Tl- ENFH=* 17:FL® 103: GOTO7E0
£03 JFt*= MsPTHEhFH = 1&:FL=1 13*0010730
Z 00 | F Z Ji- %" THENFH = I 3 i FL = I 37 : GOTO 730
360 IFZ S=*r ' THEIFH=E0 : FL, = Ì7S *GQTQ7£0
310 I “D r TMEI ■FH-g 1 :FL-H37 : GGT G730
CFG ITI £- "F " THENFH “E 3 : FL-59 s GOTO7E0
"30 IF7B= *T” THENFH =£4 ;FL= 15? : GOTO T£0
340 ] FI £ - **0*THE!t FH ~2S s FL-S0 : GOTO720
350 = "v«THENFH*27®FL- 186: GGTG7E0
360 “H * TNEr4FH s *33 * FL = S9 SGOTU780
fTT ,, U"THCrJFh=3 1 : FL -3 ! GGTG7E0
3&G ì FZ r= * J ” 1 HEInFH = 3E i F L =£ 1 3 : GOTO 730
303 irz«^ “K" THENFH =34 : FL*£07 1 GGTO720
-I0rr IF?f =■ "0”THCt f r H = 3e trL=E23 :00T0720
‘10 ÌFS*-’L " THENFH =39 ! PL = I B ! GOTO7S0
•*ee -p-them=h*<) i ; fl = ib t \ opTo? 2 g
82- Computo' Club
seguite le vostre guide
PROGRAMMA imcJO * ii
-T- . * »-" r*
r L'
t ;"*»*.**»
M^Kp-ihtHL
i"-* j Qt »*> f*s.
Stf’X* 'fa_^c v S.
'UVA.
concessionari autorizzati
SDC ldcjuvt I ■
[ Xf-£ % i
:c *■:
t*ì c
NTOVft TTl SC
* ■ j l?*iL» JLL. <
j ,1- "IX VA
r,-
melone magnetiche per computer
K 3 i lc THENFH = 43iFL=ai3:G0r07£a
440 1 FIT= ,F f " THENFH -46 : FL = 1 1 E I GQ rG7Z3
453 1^1$= * * “ ”HEHFH*43 : F L-5S : GOTO7E0
4E0 I F ” -T - " = " THEMFH - = 39 i GGTQ7£0
470 ITZ±= " '-''THEiriFH* 16 < F L = ì G 3 * GDTGTZu
400 IFZ* = " r" THENFM *15* FL = 1E3 & GOTO7E0
401 et 1FI*=- E l'THEI'F H = 14 i FL = IE E i GOT072C
500 :P04-= 1 '"THENFH-lSEFL-SGd-OOTOTaO
SiG trzm=*l "THENFH “ 1 3 ì FL = là i 00 TOT £0
J FZ * | 'THENFH® IE l FL=?0 SGOTG7S0
C30 irr^"' 1 - '‘THENFH*! 1 ìFL= L53 ! GDTO7E0
"30 ÌF2T- i 0 ■ F L =£4 7 : GOTO720
00D ITZ4- p — " TH£l<FH a 1G 1 FL=39 * GQT07É0
55" 1 r 7T s "O "THENFH-9 ; FL = Ì36 : GOTO7E0
677 0*THENFH«Sf FL*5B:GOTG7£0
TZG I FZ 4 - "* B THErFH=8 ìFL= 180 ;GOTGT20
73G IFZX* fc 1 ,J THENFH -□ : FL-0 ; GOSUB5O0 : GOTO 7 70
©è© 1FZS- w £ “THCNFH^G : FL-0 • GDSUB3 1 G s GOTO 7 70
0 ì 7 IFZi= * 7 M TMENU = 64 *'E£ =33 i U I =3 : ML -0 : QQ TQ7&G
L 00 IFZ 1 4 “ H l f <IU “G5< E2=84 :UI * l 4*L=5! GOTO 730
77 j tri*-- ' 7 " THE r -iU -£ 4 : E £ =■ 1 7 : G 1 «8 : ML =0 i GOT073©
G4G :rr$ "6 "THENU^S* : CS-S5 : U I =9 e ML -0 : GQ TO7S0
773 :rZ t- ' 7 ”THENU*=64 : EE =65 SUI =53 a HL = 0 : GOTO7S0
560 " THEMML=£0 * GGTG730
£ “Q jrz&* "■'THEPm^OS&QTQmo
70,3 IFZ^'TTMEMR l *3 :60T0?6C
eS3 IFZ* = "li^THENR 1=7: GOTO 7 50
700 JF Si" THENR l = 15:60X0760
7 1 C GOTC88C
70-G t > 33* 1 ,FH ;F uK££. ,FL
7 30 "-0-;E3^4 .U 1 I FEE s O THEM750
-40 raFES + 4 .00: 1FLTI =OTHENRETUKN
770 OOTOEG0
"*L C r c=«' lS^74 R 1 :G0TDEE0
7 7 3 r-QKES + 5 ,0P : P0KES+6,£55 : r^lL - 1 : GOTOÉGD
700 FOKE343 / 8iFOKES+a^0
733 FDKES + S,UI : FOKES *B , ML : IFU I = STHET <7EQ
800 30 TOSSO
810
FRINT3PC< 4 - :
"FLAUTO
1 " , < -
VOLUME
0;
r
i "
SPRINT
C£0
PR INTSFC< 4 7f
"orghNE rrn
E " , "
VOLUME
1 .
F
3 M
; PR INO
370
FR UiT&PCi 4 > ;
-CLAVICENDALQ
3 % "
VOLUME
■T> i
ll_ *
F
5 "
SPRINT
34 7
pr 1 NTsrc< 4 > ì.
"XiLQFGrJO
4",’
VOLUME
3 *
F
7 11
: PPM NT
377
FK INTGrc: 4 » ;
T 1 ANO
P /
SUSTA IN
+ tp
SPRINT
3E0
PR IMTR^C»: ^ j :
T 1 1AN0 E
e " : PK rNT
3^0
pp ir 1 4 r
4 CLAR INETTO
7 " : FR 1NT
CCO 30 TOC 30
SSO TEJG
30 7 1 -35 : FZ =0 1 : U ! =0 : 5OSU87S0 MJ = 1 7 : E E = © : OR =£55 : RETURN
3 10 U - Co : CE =€4 : U 1 *0 : GOSUB780 s U = 33 ì EE - 0 i GF ^SSSRE RJRN
RE *3
V r
34 - Computer Club
Commodore 64
Bomber
100 REM*** BOMBER ***
110 REM* ^PROGRAMMA PER COMMODORE 04***
120 REM*** 01 ***
130 REM*** R. LEGNAMI & A * S IMONELL I ***
140 REM*** VIA GAS TEL VETRO ^3 -MI LANO ***
150 REM* * 4 TELEFONO 02/3496437 ***
151 i
155 REM PER LANCIARE LA BOMBA
158 REM PREMERE IL TASTO *Z “
137 s
170 XXf a "ERRORE NE 1 DATA'; XX = 0
180 V“53248S P0KE2O42 , 160 i F ORN=0TO62 *- RE ADO i XX = XX + □
190 PQKE 1 0240 +N,Q : NEXT » AA = 2
200 [ F XX< > 768 THEN FRI NT "
2 10 XX “0 t POKE2043 , 16 1 ; FORM =0 TOSE ; RE A DO ; XX*XX+Q
220 POKE i 0 304 +N , Q ’ NEXT
230 IFXX< >671THENRR INTXX^; STOP
24P XX^0: FOKE2044 , 1B2 : F ORN=0TO62 i RE ADQ i XX =XX +Q
250 POKE 103S8+N,Qsr^;XT
260 IFXX< >24£6THENPRINTXX$! STOP
270 XX = 0 i POKE 204 5 f 1 63 : FORN = 0TO62 S RE ADG : XX “XX +Q
280 POKE 10432+N,Q3NEXT
290 IF XX< >5373TH£NPR INTXX^ J STOP
300 POKE V + 42 , 1 : POKEV + 43, 1 i POKEV+44 , 1
310 PR JNT-ti" • X~ 16; Y— 64 ! POKEV +4 ,X : POKE V + 5 , Yf P0KE3328 1 , 4 J POKEV + 16,0
320 FORC =55296X056295 SPDKEC ,0 : NEXT
330 IFOO< >6THEN00-004 1
340 FORA- 1984X02022:0*= I NT< RNDC 1 >*7>-*00: FORW=0TOO i POKE A^L4*40 , £2 1
350 KETXTy ,A!S3 =54272* PRlNT“a-
360 FORU b 1064TO1 1 03 t POKEU , 64 t NEXT
370 PRINT^a PUNTI ' RRTA0C 27 ) - AERE 1 * A A
380 RESTORE * POKEV+2 1 , 4
390 XX=0;FORD = 0TO25 1 s REAOH : XX=XX+H : IMEXT
400 IFXX< >3238 THE NPR INTXX$ ! STOP
4 10 XX^B ; F0RK -0TO24 ì REAOH : XX = XX +H VPOKES J +K f H : r EXT
420 1FXX< >85BTHENPR 1NTXXS: STOP
430 POKESI +4 ,S5«P0KESI *1 3 , 65 : POKES I + ì 3 , 65
440 L?*4 1
450 X*X+4
460 QUI = 1 024 + ( INT< X- 161/8 ) +< < C Y-40>/B > *40) i I FPEEKC QW > =22 1 THENS80
470 IFQU1^20£3THENAA=AA*l SGOTQ310
480 IFX >255THEISP0K£V+ 16,4: POKEV + 4 /X -255 ; GOTO 500
490 PQKEV+4 ,X SGQTQS 10
500 IFX>327THENP0KEV+1G ,0 : X = Y + 8 : X = 1 6 i POKE V +5 , Y i POKE V +4 ,X
_ i'
u
n pìccnio aerto ai muove lungo k>
se he rm ti da sinistri a destri r linci* una
Ni ni ha premendo il tasto 44 Z’\ E* neces-
sario colpire i grattacieli ili* toro sommi-
tà, altrimenti la bomba non ha effetto.
s
e i grattacieli rimangono indenni, pri-
ma o poi Tieroo perdendo quota , li urterò
esplodendo.
Computer Cfuù - 65
5 10 I FK = 1 THEN540
520 fì=PEEK< 203) : I FA = 1 2THENK = I :S=QW+ 1 s POKES ,46
530 CO TO') 50
540 D4=P4+1 ! IFD4=3THEND4=0SGGTD560
550 DOTO 4 50
5G0 IFPEEKC S+ 1 > =22 I ANOPE£K< 5+40 X >22 1 THENK =0 : POKES ,32 i GOTO450
570 IFPEEK< 3+40 >=22 1ANDPEEK< S-40X >22 1THENM=M*1 :PR=RP+1 :L7=40
580 POKES ,32 :S=S+L7tPOKES ,46
590 IFM*40RS> 1 983 THENK =0 i M=0 : L7 =4 1 ! POKES ,32 : PR 1NT n a*THB( S)JRR
S08 GQTO450
810 POKE 650,0
620 REM SPR1TE AEREO
630 DATA 0 ,0 , 0 ,0 ,0 ,0 ,0 , 0 ,0 ,0 ,0 ,0 ,0 , 0 , 0 ,0
640 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,128,0
650 DATA 1 ,254 ,0 , 1 ,255 , 128
GG0 DATA0 ,O,0 ,0,3, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0,0
670 REM SPR1TE SCOPPIO I
680 OATA0 ,0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0
890 DATA 0,10,0,0,181,0,0,10,0,1,00,128
700 DATA 0,36,0,0,133,0,0,32,0,0,74,0
710 DATA0 ,B ,0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0
720 REM 3PRITE SCOPPIO li
738 DATA 0,0,0,0,0,0,0,0,0,0,36,128,0
740 DATA 147,32,2,137,80,1,82,128,4,10,40
750 DATA 4,161,0,2,10,88,9,80,160,4,36
760 DATA 36,8,139,64,10,32,176,5,74,0,0,161,64
770 DATAR ,21 ,32,1,34,128,0,8,0,0,0,0,0,0,0
780 REM SPRITE SCOPPIO III
790 DATA 0,165,0,5,90,208,17,74,168,42,36
800 DATA 200,36,147,42,154,137,84,83,82,129
310 DATA 180,10,42,76,161,4,146,10,89,105
820 DATA 80,162,20,36,44,200,139,66,42,32,181
330 DATA 213,74,13,32,161,76,162,21,34,85
840 DATA 84,145,13,41,44,18,148,136,4,74,80
850 REM DATA PER SUONO
860 DATA 3,2,0,3,0,0,240,12,2,0,4,0,0
870 DATA 192,16,2,0,6,0,0,64,0,30,243,31
880 POKES 1+4,0: POKES I + 1 1 ,0f POKES I +18,0
890 PDKEV+ 16,PEEK< V+16 1ANG4 :F=X
900 IPX >2 55 THE NF =F -255 ! POKEV +16 -P£EK< V + 1GJOR56
910 PDKEV+6 ,F-8:P0KEV+7, V! POKEV+8 ,F-8
920 POKEV+S , Y:POKEV+ 10 ,F-8!P0KEV + 1 1 ,Y
930 Afl =AA - 1 : POKEV +2 1 ,8 1F0R6- 1 TO400 t NEXT
940 POKEV+21 , 16:FORG=1TO400:NEXT
950 POKEV+21 , 32 ! FORG= 1TO400Ì NEXT s POKEV +21 ,0
960 IFAA< 0THEN980
970 Y = Y-32 t POKEV + 5 ,Yt POKES ,32 '• PR INT "9" TAB< 27) ‘AERE I *AA:OOTO380
980 PR INT ' jmBfflBlsFUNTt * )RR
990 PR 1 NT " MWHBIMIlMgBBBDIlBIB PER UN'ALTRA PART I TA PREMI UN TASTO “
1000 IFPEEKv 203) "G4THEN1000
1010 A A =2 • RR =0 ! 00 = 0 * G0T03 10
READY.
86 ■ Computer Chili
Didattica
L’informatica a Scuola:
T ELEMATICA, ROBOTICA, BuROTICA
L
Jl. J i* sostanziale differenza I r ii li) l uIìui :i
antica e quella moderna sta nel modo dì
porsi di frati te al) 'luetici. IJ centro delle
attivila intellettuali, dal rami ehils fino a
(■allibi, nella narrazione, cioè
nella descrizione argomentala dei feno-
meni. t > i*kì risiede nelle informazioni
tratte scientificamente dalla realtà. In
quest u quadro Ti n formazione elaborata,
cioè l'informatica, è destinata ad assume
re un ruolo sempre piu significativo.
L’
1 J elettronica e una scienza assai gin-
vane e ci dà Timpressione di essere di
fronte mi un iceberg, del quale conoscia-
mo La vetta affiorante ma tino la monta-
gna sommersa. i>i certo possiamo dire
che rdaboratore e La microeleti runica sa
ranno i protagonisti e gli elementi motore
dei cambiamenti che investiranno tutte le
attività umane, pubbliche e private. Per
ora si individuano già almeno tre disriplb
ne che trovano nome per aggregazioni
d'uso: telematica, hurotkn e robotica, t
cambiamenti non saranno automatici ed
indolori, perche hanno come rondinone
che la società si evolva culturalmente nel-
la direzione della conoscenza generali zza*
ta deir informatica. A questo sforzo di
uggiti rnumrti hi saremo chiamati tutti,
per esigenze connesse all' efficienza ed aj-
la produttività, ina in cambio d dura una
nuova sicurezza e consapevolezza di deci-
sione ad ogni livello ed in ugni direzione.
Prima vinceremo le nostre resistenze alle
nuove tecnologie, dovute ad ingiustificate
diffidenze o disinformazione, prima sare-
mo conscia meni e presenti nella realtà so-
ciale e lavorativa di domani. Ogni cultura
ha le sue terminologie. Non conoscerne il
significato vuol dire esserne esclusi: senza
paradosso si può affermare che fra mi
ventennio chi non conoscerà ri riformati
ca sara un escluso, come un analfabeta
nel mondo d'oggì.
Tei .EMATICA
Al nome nasce come coni ruddi/ ione dei
termini 1 elevo f minici/ ioni ed informali-
ca. II suo scapo è quello di fornire dei
serv izi canalizzati su reti di t detonili ni ea-
zinne, al fine di rendere disponibili le in-
formazioni contenute nelle banche dati,
che volgarmente potremmo definire ar-
chivi elettronici- Il progresso si misurerà
dalla velocità di trasmissione dell' infor-
ni a /.ione, dalla capacita dì immagazzi-
narla, elaborarla c ri trasmuti erto-
Telefono, il terminale piu diffuso nel
mondo (SOU/MKI milioni di apparecchi), il
Televisore e Personal ( ompultr, sono gli
strumenti attraverso cui passerà il cam-
biamento. i dà figgi sono in funzione TE-
LETEX1 e VII IEOTEXT, Le informa-
zi uni, con il Teìete*!, sono inviate utiliz-
zando un canale televisivo e l'alternativa
che ha l'utente è di vederle tutte u di
scartarle completamente, eoo il Vìdei**
test, r informazione viaggia su un cavo
telefonico e l'utente puri mlerloqnirr con
la banca dai* mediante un (decorna oda,
scegliendo via via quello che desidera ri-
cevere e scartando eh» che non gli
interessa.
I fornitori di in forma /ioni, in inglese
Information Provider , sono banche,
borse, università, enti pubblici etl orgu-
nizzazkmi private, i cui servizi possono
essere graluò i e/o a pagamento.
Robotica
L a parola robot venne coniata nel 19 17
dallo scritture cecoslovacco K- t'apek,
che là usò nel racconto breve «R*|i.R, ..
Deriva dal ceco - ROBOT A e significa
lavoro duro, servile e/o coatto, quello dei
servi della gleba . E / idea di creare un esse-
re dd tutto simile ali 'uomo, ma ad esso
asservito, che svolgesse i lavori più ingra-
ti, e vecchio qua oto l'uomo stesso.
L
i- J a letteratura si è piu volte appropria-
ta di questo mito, ma in una chiave del
tulio particolare: la creatura si rivolta al
suo creatore che solo albi fine riesce ad
averne ragione distrugge ridda. L'esem-
pio piu famoso e Frank c l iste in. Purtrop-
po ancora oggi grosse produzioni cinema-
CùrfpLttùfCfub ■ 87
Mhi( *7 Tb ■ Alpi™ I Vili » Ih 1 " I ! • Jh I iil 1 1 Ì_'*j «4 itigli il ir li ' w|4 ’rj.rt i p\I
ir\l W*lMAC.A/ÌN('<ll H'iNfoiiMAlifA
Cosa vedere
al prossimo
Data base:
come sceglierli
Ed ecco
il transputer
(ugrafkhe si basano mi quello equivoco,
insinuando frigi astiti rati timori e danneg-
giando un armonioso sviluppi iteli' in for-
ma! fra* Nd 1950 fsae Asimov nel celeber-
rimo romanzo -lo» Robot., coniò le tre
leggi della robotica* nelle quali è riassun-
ta la moderna conclone di robot:
• [ n robot non può recar danno ad un
essere amami, ne può permettere che* a
causa del proprio mancato intervento* un
essere umano ricava danni.
« In robot dece obbedire agir ordini
impartiti dagli esseri umani, purché tali
ordini non contras vendano alta prima
frw-
* I n robot deve proteggere la propria
esistenza, purché questa autodifesa non
contrasti con la prima e la seconda,
o ggi il rampo di impiego dei robot e
soprattutto industriale. Grande sviluppo
stanno per avere i robot nelle industrie
con catene di montalo, in particolare
quelle automobilistiche (Robogaicj, ma
anche in molti altri settori dove svolgono
compiti per formio pericolosi, impossibi-
li, faticosi il ripetitivamente noiosi. I ro-
bot industriali possono essere tesati in piu
mansioni, e ciò presuppone che accanto
ad una struttura meccanica esista una
struttura elettronica, basata su un micro-
processore ed una memoria,
Burotica
E 9
un termine di derivazione france-
se: h li reati ■ cioè ufficio e Hinformati-
que* s! sono contratti in bureàutique-,
che nell* uso corrente italiano e diventato
burotica . 1 a bunvtka si occupai delle
tecniche e delle tecnologie relative »H'au-
Ni ma zirlile dell' ufficio ■
sfuria d etTorgai ni uazlonr dei lavoro
di ufficio mostra • vari periodi cambia-
menti, soprattutto ad opera di Innova-
zioni tee (lotiche* ma per La relativa
eseguita sociale degli im piegati rispetto
agli operai, I 1 aspetto organizzativo e
sempre stato subordinato al rapporto
personale e all'ordine gerarchico, nono
stante che nello stesso periodo in fabbri-
ca l'organizzazione del lavoro fosse ind-
io cambiata. Solo la grande cresciti] del
numero degli impiegati, fino a diventare
maggiore dì quello degli operai, ha posto
problemi organizzativi. L'introduzione
del computer t che ha portato Tesi gè rt/4 di
procedo re e melodi standardizzati e stata
l'elemento catalizzatore di questo
processo,
T ’
M-J organizzazione funzionale sta
avendo il sopravvento sul f organizzati^
ne gerarchica: ora l'azienda e sempre piu
un sistema informativo. Prendiamo ad
esempio aì passaggio dalla configurazione
accentrata dell' elaborato re alte configli-
CENTER
20144 MILANO
C.so Vercelli, 52
Telefono: 490, tì%
Imparate una lingua in 80 ore.
Usando l’istruzione programmata.
MTF Language Center vi offre un corso
intensivo personalizzato nell'orario
e nel luogo da voi stabilito.
Iscrizione continua.
Per i lettori di C.C.C. ulteriore sconto.
I
INGLESE
FRANCESE
TEDESCO
SPAGNOLO
ITALIANO
SOLO PER
STRANIERI
IN 80 ORE
j
Desidero ricevere ulteriori informazioni f
sui corsi |
Cap, — — — Città
«
I
1
- J
90 - Computer Club
Computer questo mese é questo . . .
g pmmo
COMPUTER
“CLUB —
PRESENTA
per imparare a casa
di programmazione BASIC
computer
Forse r>er pross ~ •=; '-à c- - --- - 3
domani anefte per te se non res = - ' ? oc-'
ma di imoar-ìna' a c.a *ga r * ' ' ■ ” : - r " -■■•- ■• -
lode dei suo» 35 arr d> esper *•- za *-■ :
disianza, li propone la soluzione ottimale il suo n^c 1 , : :
g r arn rr: a z 1 ont ? BASIC Su pe- son ai co^o u 4 ■:- r ■: - -■
mento più perfe/ onato oggi reperibile per cr , ■ -
re l'informa zinne con I elaborazione alati r ortica de -
un corso per tutti
il corso Accademia di programmazione uB
BASIC su personal computer oiende le
mosse dal!' ABC deli 'informatica e. spie'
gandone - concetti in modo Access ipiie a t
ulti permeile a chiunque a n che se nuove? a
quasi esattore, di apprendere in breve tempo r
;p tecniche delio programmazióne
Basic: il linguaggio %
dei personal computers
Imparare ao esprime* $ m BASIC e h<j sr^- - sa: e
chi Vuole saper utilizza cerreti a me 1 me :.c ■ :
per dare una nuova dimerìs one a procx : .=
propri studi 0 all a mm lustrazione J arr - - ::
per acquisire preziose conoscenze cne do’^~
ve ! r) r s indispensabili in un ?ulufo mosto p'oss -
Con 1 orso Accademia li linguaggio BASIC *r pc .
settimane ngn av r à piu segre i per te e 11 persona :
venterà 'uo col acotaicfe più "edele e
qualificato mm&m
Accademia ti propone un corso teorico- vii
pratico di facile comprensione anche
per chi $1 avvicina per la prima volta
al l'informatica , che tf mette In grado tln
rial nrl rfln nlrtm A Ht tiimrr, Cd” n.,1 i. J
| ACCADFMIÀ Via Dromede Marvasi 12/W 00163 Roma
■ DesjdfHTJ rc> j v wt ■ ri'omvtj kjth s A vOftt a oso ai urog^anTiir ore BASIC
I I I II I I I J_LU 1
JJJJJJJJ* LU J I
■ ■dii I l< I II j ■’
A-rre t? proposte & Acoac lente o& tf tuo tur sto
Arredatore Disegno e pii lui a Smista - Fotografo
Grahcopubbit lane Vei ornata Tecnico pubbli
citano ' GiomaE>sia imoiiunisiicasiraoafe ’ec
f u di gesliorve iizserniaie InlerDfete \ ingoi 1
ee* un eruttano pig raptcìa Eeieionc ! 1 \__j I I I I L_jL J_J J, J
Mori v >" ri-^w siijrtir ho*#* t>#*dfiO sul nel* rono * fiÉTBnin# tompul#r
Nuovo corso rapido di
PROGRAMMAZIONE
BASIC su
MICROCOMPUTER
Sct-lqa il Corso a lei piti ridano
PROGRAMMAZIONE,
BASIC E MICROCOMPUTER
• per il Commodore OSA
* P*r il C* camma dorè UIC 20
• per il Sinclair ZXSpectrum
* per il sni— l3lir^ ZX8I
In $ofe \2 dispense i$ì impalerà a dia-
logare con i compuier, sviluppare prò'
granrm da scio, modificare quelli esi-
stenti cre^e grafici m movimento, ca-
pire ['informatica sul suo calco atore.
confrontare II BASIC con astri linguaggi
(COBOL. FORTRAN, ecc.) e godrà deL
l'assistenza gratuita dei nostri esperti
LA 1* DISPENSA IN VISIONE
Chieda subito, in visione gratuita e
senza impegno, la I 3 dispensa piu
adatta al suo computer. La riceverà
completa di documentazione e solo
per posta raccomandata.
Cosi potrà toccare con mano la bontà
dei metodo l$T e decidere m assoluta
libertà
Sfrutti questa occasione e spedisca
oggi stesso il nosiro tagliando 1
razioni decentrate presso I singoli uffici,
ciò che si definisce « wre ni emerite V infor-
matica distribuita, a questa corrisponde
un decentramento di competenze e
responsabili tic
T
M, 1 ’Word-iYocesìiing (che permette l'ela-
borazione dei testi e la loro are hi > la/ ione i
e la possibilità di digitalizzare la voce
umana inseriti nel sistema informativo
dell 'ufficio* tramite ki sviluppo della tele-
malica, ci fu rati no giungere ad un sistema
informativa a livello planetario, E* chiaro
che in breve tempo, nei paesi industriali
molti potranno o dovranno ac-
cedere ad un elaboratore personale,
quindi il grande sforzo da compiere sarà
quello della formazione informatica di
massa .
Finalmente
una Scuola
per Diventare
Progettisti
di Videogiochi
L— z ol ritorno dalli- vacanze estivi una
grossa novità attende gli appassionati di
homi 1 -computer e videogiochi: stira inuU j
gufata la Video-design School, là incuoio
che è nata per insegnarvi a programmare
il vostro videogioci). 1 corsi saranno arti-
colati su tre li ve I li r per principianti,
esperti, spedalini: ed alia fine verrà Hla-
sciato un attestato di idoneità ta chi vara
prcmuivsn! I.
f »
1 J esame sara costituito dalla pnq»et-
lazimie e realizzazione di un gHKO, che
verrà discusso in un colloquio. f candidati
potranno scegliere liberamente se cimen-
tarsi su temi di intrattenimento n
didattici-
p
a. er infor magoni* telefonare al 02/
12 - 603868 ,
IMPARA
A PROGRAMMARE
IL TUO
VIDEO GIOCO
ALLA
VIDEO’
DESIGN
scriool
CORSI PER
PRINCIPIANTI
DI
PERFEZIONAMENTO
E
SPECIALIZZAZIONE
A conclusione
del corso sarà
rilasciato un
attestato di
frequenza - idoneità
Video design school
è un'iniziativa
SOFTGR 'F
PER
INFORMAZIONI
TELEFONA
Al NUMERI
02 / 6899912-603868
WS»
PUOI
Scuola Radio Elettra
ti insegna
a programmare
con il nuovo Corso
" PARLA BASIC"
Ce un "gioco' che *■ ‘orò tcoprire tu'te e
meravigliose capacità de *jo V(C- 2 C é
degii a 'tri nucrocomputer
imparato anche tu con 'PARLA BASIC
nuovo Cono per corrispondenza di Scuo-
ic Radio Elettra Presto e bene anc^e \
saprai programmate in BASIC it in~
gvaggio indispensabile per comunicare
con i microcompi e?
Diventerai com
un vero cipero,
pronto o servirti
di oppa rec-
ti chiaiure anche
impegnative e
sofisticate
9 Bastano
12 lezioni
Re? f e, tutto l’esperienza di Scuola Radio
Efedra nei! 'insegnamento a distanza: in
soie / 2 lezioni r tutto b teoria e la pratico
del'a programma rione BASIC fin dolio
ì c lezione sarai capace di dialogare per -
fenamente con H tuo VIC -20 e ai servirte-
ne per il tuo avoco per il tuo tempo libe-
ro. E mentre impari, puoi consultarti per
lettera o per telefono con gli specialisti di
Scuoia Radio Elettra . Essi ri saranno oc-
conio ogru volto che desideri, per assicu-
rarti un apprendimento perfetto.
"PARLA
BASIC "
conviene
Per te f tutta fa conve-
nienza dei Corsi Scuola
Radio Elettro Infatti in*
j teme alle 12 lezioni il
Corso ti offre, se ancoro
non li ho ! , il VìC 20 e il
registratore VuO\ acqui-
starti entrambi?
Vuoi semplicemente af-
fittarli? Vuoi acquistare
il solo registratore?
Scuola Radio Elettro ti
offre la massima libertà
di scelto.
In più t con
l'Elettro
Cord.,, w
... che troverai acclusa
al tuo Corso, potrai acqui-
stare tutte te periferiche le in*
terfaccé e i programmi Comma*
dorè a condizioni assolutamente vantag-
giose, Comò io g ioco Con noi puoi Tt b a
sta ritagliare e spedirci su-
biro questo tagliondOj per
riceverò p coso g I
tutte le i nfor -
mozi oni s u/
Corso 4|
PARLA
De? inviare a:
r Scuola Radio Elettra
Via Stellone 5 - 10 Ì 26 Torino
r~\Cl rnufitermo tìctvGfB, Qrotinrjirma impegno, ti materiale
informat.vo rotati ve at Corso 1 ’ PARLA BASIC
totalità — j_ì.
CAP—
Proy r.
fra Protei fior** , i i i — >- — > — - — i — * — < —
*tO Oi Cpoi di co
•'I fornirò eiettori ito jjyc^rfus^o'c {NO Vi 7 A '}
n fi iertranico digitai* {NOVfTA I
DMicrocQ'T'pvter {NOVITÀ ;n f ber etneo Rodo IV
□ E fetirQtìtCO rndt/iifiaie □ Teievmo'ie btn ,
□ fe/rWuOft# o colori □ Amptrtico rione uereo *
□ Aita fedeltà tl 5'rumffofi' di miu/ra ^
téotiYG é*tfo rwht+Mt r*r lavaro (j
CAMBIA GIOCO
¥
HRI MAI PC USATO A/ ■AVSRC PER
AMICO VAI COMPUTER ?
PENSA QUANTE COSE POTRESTE PARE INSIEME:
- FA R E TU T TI 1 GIO CHI CHE VUOL
- IMPARARE IL MASiC?L4 1 LINGUA PEL FUTURO
- PARE / COMPITI hi SCUOLA. ECC...
L'A SITI COMPUTER s L'ISTITUTO KART
HANNO ISTITUITO PS A TS UNA SCUOLA SENZA
BANCHI MA CON TANTI COMPUTERS E PRO _
PESSORI GIOVANI E SIMPATICI CHS TI INSE-
GNERANNO PASSO A PASSO A SCOPRIRE
QUESTO MERAVIGLIOSO MONJpO.
QUANDO AVRAI IMPARATO A CONOSCERLI
POTRAI rtMALMENTE PORTARTI "A CASA
IL TUO NUOVO AMICO COMPUTER .
PER ULTERIORI fUPORMRZIOHI E ISCRIZIONI RIVOLGITI A:
- SITI COMPUTERÀ
P. n« S. E USTO PStO 2 -M IL ANO - TEL . Q3S6006
- ISTITUTO KANT
Vi* BRUSCHETTI 11 -MILANO - TEL. G03&G<9
TI *SPSTTI*MO
JOC/f W'AK GRUPPO
cium
INVIARE TUTTA LA PAGINA ANCHE SE SI UTILIZZA UNA SOLA SCHEDA
Registrate i ! mio abbonamento annuale a Commodore Computer GluD
Vr ~
Ho versato oggi stesso il canone di Ltre 22 000 a mezzo e/e postate n° 31532203 intestato a
Commodore Computer Club - V le Famagosta, 75 - 20142 Milano
Il mio computer e □ un VÈC 20. un G 64, □ aliru (specificarci
~ ho, □ non no “ la stampante ma voglio C comprarla
_■ ho, " ncni ho. ' il drive 1541. ma voglio D comprano,
Regsstrsiem + ra collaboratori regolari di Commodore Computer Cfub.
* tr : : - . 2 , invio un art eo e e la cassetta col programma “
#
:-j r r ìnat.sco l'assoluta ongmalftà autorizza ndovene fa pubblicazione
Pe? fl compenso □ telefonatemi al □ Scrivetemi all'Indirizzo so ttomd reato.
«
*
i programmi / articoli li ho giudicati cosi:
Giudizio d'utente (mettere una x nella casella)
4 -
{moto
OTTIMO
BUONO
SUFFICIENTE
MEDIOCRE
1
INVIARE IN BUSTA
CHIUSA E AFFRANCANDO
SECONDO LE TARIFFE VIGENTI A
COMMODORE COMPUTER CLUB
V.le Famagosta, 75
20142 Milano
FINALMENTE.
LA TAVOLETTA GRAFICA A PIENE PRESTAZIONI
AD UN PREZZO ACCESSIBILE A TUTTI
I I
La tavoletta grafica KOALA è la più simpatica innovazione nel campo dei personal
computers. Con KOALA, controllate il vostro computer con un dito, riù veloce
di un paddle, più versatile di un joystick e più
semplice dì una tastiera.
La tavoletta grafica KOALA è compatibile
con la maggior parte di software esistente
e viene fornita compieta
del suo programma
grafico "Micro lllustrator".
KOALA-PAD è il miglior
* INI t tHN Ai IwnJ A L
T# r i
modo per creare
immagini ad alta
risoluzione con il vostro
computer.
COMPUTER GRAPHICS DIVtSION
MILANO: Via L. da Vinci. 43 20090 Tremano S/N
Tel 02/4455741/2/3/4/5 • T!* ; TELINT 1 312827
ROMA: Via Salai a, 1319 - 00-38 Roma
Tel 06,091 7058-69 '931 2 - TU: TINTRC 1 61438
ME E Memoria par EiiEK>r*lOfi E!-eiimnk:j SpA
Pofniluie pt?f Grani n Elabora/iqr^ Dall
Sede Anmvfl 2G14J Vinaio Vi* Boni ?9
Tot 4908541 f4 mee r a > Tele* 32J43S MCE I
Filiali a Agenzie Milano Bergamo Tot irò
Biella Padova Parma Ro cipa Fifflrvw ancona
Roma Napoli Or ani & Ori s - a -io Bau Gtocjwi
Sodane Mesire
1
High precision Data Memorie*
é tecnologia avanzata di costruzione.
È II supporto magnetico testato ai limiti
della resistenza con garanzia di assoluta
affidabilità.
É avanguardia tecnologica per assicurare
la massima protezione dei dati,
anche, nelle situazioni più critiche.
HIGH PRECI SION A COLPO SICURO!